我不知道这里发生了什么......
model.attributes.data.Path.replace('/\\/g',""), @options.path.replace('/\\/g',"")
做的时候:
console.log model.attributes.data.Path.replace('/\\/g',""),
@options.path.replace('/\\/g',"")
数据是:
T2 / T2_2,T2 / T2_2
它返回:
T2T2_2,T2 / T2_2
所以只更换了第一条路径,而不是第二条路径?为什么会这样?
答案 0 :(得分:2)
除了你匹配反斜杠(\\
= \
)这一事实,而不是正斜杠(\/
= /
),不要放你的正则表达式将replace函数作为字符串。
使用:
.replace(/\//g,"");
而不是
.replace('/\//g',"");
然后它会正常工作:
"T2/T2_2 , T2/T2_2".replace(/\//g,"");
// returns: "T2T2_2 , T2T2_2"
否则,它只会尝试逐字地找到字符串 '/\//g'
。
另外,要替换1个正则表达式中的正斜杠和反斜杠,请尝试以下方法:
"T2/T2_2 , T2\T2_2".replace(/\/|\\/g,"");
// returns: "T2T2_2 , T2T2_2"
# \/|\\ Matches:
# \/ - Forward slash
# | - Or
# \\ - Backslash
答案 1 :(得分:1)
尝试:
model.attributes.data.Path.replace(/\//g,"")
@options.path.replace(/\//g,"")
/\\/g
匹配反斜杠,/\//g
匹配正斜杠。
答案 2 :(得分:1)
尝试使用.replace(/\//g,"")
代替.replace('/\\/g',"")
,(正则表达式不是字符串)。