开发者

In Lua need to separate the string based on backslash through Regex

开发者 https://www.devze.com 2023-02-14 15:46 出处:网络
I have a String li开发者_C百科ke file:c:\\test\\xyz.exe how can I separate the above string in 3 parts through Regex in Lua?

I have a String li开发者_C百科ke file:c:\test\xyz.exe how can I separate the above string in 3 parts through Regex in Lua?

For the example, the first part would be file:, the second part of string should be c:\test and the third part of string should be yz.exe.


have a look at the String manipulation part of the Lua manual : http://www.lua.org/manual/5.1/manual.html#5.4

In particular match() and gmatch(). For example :

 s = "file:c:\\test\\xyz.exe"
 for first, second, third in string.gmatch(s, "(%a+):(.+)\\([%a%p]+)") do
   print(first)
   print(second)
   print(third)
 end

To allow alphanumerical character in the first and third place, replace %a with %w. All others possible pattern are referenced at the end of the linked manual chapter.

You must double each '\' in your input string, otherwise pattern matching won't work. Backslash is an escaping character in Lua, so if you want to have one in your string, you must escape it : "\\"

The given code will work for "file:c:\test\xyz.exe" and "file:C:\test\test3\a\abc.exe"

0

精彩评论

暂无评论...
验证码 换一张
取 消