String 从字符串lua中删除反斜杠

String 从字符串lua中删除反斜杠,string,lua,String,Lua,我正在处理一些url字符串,并尝试从字符串中删除“\”以使用url进一步使用。 但是,当我尝试使用strin.gsub时,它并没有发挥应有的作用。而不是给我错误的输出 字符串是 nas="\\192.168.1.220\STORAGE_1d1b7\a\b\c" 我尝试过的代码: nas=string.gsub(nas,'\\',"") print(nas) 输出: 192.168.1.220STORAGE_1d1b7??c 我需要的输出: 192.168.1.220STORAGE_1d1b

我正在处理一些url字符串,并尝试从字符串中删除“\”以使用url进一步使用。 但是,当我尝试使用strin.gsub时,它并没有发挥应有的作用。而不是给我错误的输出

字符串是

nas="\\192.168.1.220\STORAGE_1d1b7\a\b\c"
我尝试过的代码:

nas=string.gsub(nas,'\\',"")
print(nas)
输出:

192.168.1.220STORAGE_1d1b7??c
我需要的输出:

192.168.1.220STORAGE_1d1b7_a_b_c
它删除了“\”,但也影响了带“?”的“\”
我不知道“?”是从哪里来的

字符
\
用于转义字符串中的某些特殊字符,例如:
\n
表示换行符(ASCII码
10
)等(
\a
是C/C++中的ASCII码7)

因此,您需要将字符串定义为:

nas = "\\\\192.168.1.220\\STORAGE_1d1b7\\a\\b\\c"
或者,lua提供了另一种定义原始字符串的方法:

nas = [[\\192.168.1.220\STORAGE_1d1b7\a\b\c]]

有没有办法弄明白

NASLocation = NASLocation:gsub('\\\\', ''):gsub('\\', '_',1):gsub('\\','/')

ok使用原始格式,它将“?”作为元素,但它也会影响“\”。我想我必须在一个操作中将“\”替换为“”,这意味着当string.gsub将“\”替换为“”时,它也将“\”替换为“”。我该如何实现这一点?到目前为止,删除了“\\”但仍然“\\”给我带来痛苦代码'nas=[\\192.168.1.220\STORAGE\u 1d1b7\a\b\c]]i=string.find(nas,“\\”,1)nas=string.sub(nas,3)nas=string.gsub(nas,“['%\']],“\”)print(nas)@user1640175您还需要在
string.gsub
函数中转义
\
。我该怎么做?我试过很多模式。但还是一样。另外,我不想只删除它,我想用“\\\\\\\\\\\\\\\\\\\',”):gsub('\\','\\')替换“\”。@user1640175
nas=nas:gsub('\\\\\','')