小编Mic*_*ico的帖子

寻找基于Lua的解决方案,将字符串拆分为两个或多个组件

这是我第一次发布到这个网站,所以请耐心等待.

考虑以下,有点代表性的字符串:

fld u.a. ldfjal \verb*u.a.* dlf \lstinline$u.a.$ u.a. dfla \url{u.a.}rrr
Run Code Online (Sandbox Code Playgroud)

对于某些背景:\verb*....*并且\lstline$...$是LaTeX宏,其参数不是通过匹配花括号来分隔的,而是通过一个共同的字符分隔:*在的情况下\verb,以及$在的情况下\lstinline.重要的一点是,分隔符可以是除了 {之外的任何可打印的ASCII字符}; 人们不应该假设*$将在所有(甚至任何)案件中用作分隔符.另外,\url{...}是一个LaTeX宏,其参数由花括号分隔.应该假定完整的字符串包含utf8编码的字符; 为简单起见,我们假设它们是纯ASCII字符.

我希望建立一个(希望合理有效...)基于Lua的路到全字符串分割成两套子的:(a)在由乳胶宏及其相关参数和各部分(二)其他部分.最终的目标是将"其他部分"提供给string.gsub函数调用.

转到前面的示例,如何将字符串分开

fld u.a. ldfjal \verb*u.a.* dlf \lstinline$u.a.$ u.a. dfla \url{u.a.}rrr
Run Code Online (Sandbox Code Playgroud)

进入"Y"(在类似逐字宏的内部)和"N"(不在类似逐字宏的内部)组件,即

NNNNNNNNNNNNNNNNYYYYYYYYYYYNNNNNYYYYYYYYYYYYYYYYNNNNNNNNNNNYYYYYYYYYYNNN
Run Code Online (Sandbox Code Playgroud)

哦,每个完整的字符串都保证有"N"个组件,但可能没有"Y"组件.原则上,字符串可以以"N"或"Y"分量开始和结束.

我一直试图想出一个使用Lua的字符串库函数的解决方案,但还没有达到目的.:-(

string lua

3
推荐指数
1
解决办法
155
查看次数

标签 统计

lua ×1

string ×1