字符串处理功能实现
截取两个字符串之间的内容
使用TracePrint函数调用GetStrAB方法,传入三个参数:"如果想要写成一行代码,那么就可以用冒号连接","想要"和"代码"。
Function GetStrAB(输入的字符串,分隔词一,分隔词二)
该函数将根据指定的分隔词一和分隔词二在输入的字符串中查找并提取两者之间的内容。
Function代码示例:
If UTF8编码的字符串中包含分隔词一且也包含分隔词二
则执行代码,计算分隔词一在字符串中的位置m,以及分隔词二在字符串中的位置n。
然后使用m和n的值从原始字符串中提取出两者之间的内容。
分割字符串
使用TracePrint函数调用SplitStrAB方法,传入三个参数:"如果想要写成一行代码,那么就可以用冒号连接","想要"和"代码"。
Function SplitStrAB(主字符串,分隔词一,分隔词二)
此函数会首先在主字符串中查找分隔词一和分隔词二的位置,然后根据这两个位置将主字符串分割成数组。
Function代码示例:
如果主字符串中包含分隔词一和分隔词二,则将其按照分隔词一进行初步分割。
接着对分割得到的每一项再次使用分隔词二进行细分割,并只取第一个分割项。
提取多组两个字符串之间的内容
通过循环遍历GetStrArr方法返回的数组。
Function GetStrArr(主字符串,包裹词一,包裹词二)
此函数会遍历主字符串中所有由包裹词一和包裹词二包围的内容,并将这些内容存入数组中返回。
Function代码示例:
首先检查主字符串是否同时包含包裹词一和包裹词二。
如果满足条件,则将主字符串按照包裹词一进行分割,并对得到的每一项再次使用包裹词二进行分割。
最终将分割得到的每一项存入数组并返回。
提取数字或特定字符集
使用GetNum、GetZm和GetCN等函数分别提取数字、特定字母及长度为3的子串。
例如,GetNum函数会遍历输入的字符串,检查每个字符是否为数字并将其拼接起来。
正则表达式应用
通过import语句引入shanhai.lua库后,使用其提供的RegexFind函数配合正则表达式来提取符合条件的字符串。
例如,可以使用"%d+"来匹配一个或多个数字,"%a+"来匹配一个或多个字母,"[\128-\254]+"来匹配特定范围的字符集。
总结
本期文章以源码分享的形式展示了如何通过编写Lua脚本来实现一系列的字符串处理功能。