【发布时间】:2021-04-02 01:38:32
【问题描述】:
这里是一个 lua 新手。
我想用'$\\psi\\left(y\\right)$' 替换字符串'$\\psi\\left( y\\right)$',即删除出现在( 之后和下一个非空白字符之前的所有空格。
我一直在尝试gsub,但每次尝试都没有成功。这是我尝试过的
function foo(s)
print('before s = '..s)
str=string.gsub(s,"\\left( ","\\left(")
print('after s= '..str)
return str
end
尝试过
function foo(s)
print('before s = '..s)
str=string.gsub(s,"\\left(%s+","\\left(")
print('after s= '..str)
return str
end
以及其他一些变化。但是每次我调用函数如下
foo('$\\psi\\left( y\\right)$')
返回的字符串是一样的。空白仍然存在。
这样做的正确方法是什么?在 Linux 上使用 Lua 5.2.4。
我打算在lualatex内部使用这个函数,这些字符串会从latex作为字符串传递给lua。但是我现在在 Linux 上的独立 lua 安装中尝试这个功能,在我在 Lualatex 中使用它之前先看看它是否有效。
【问题讨论】:
-
你可以尝试使用正则表达式,它应该更容易
标签: lua