这位相对新手想要一种方法,以便在字符串末尾为冒号的情况下将其删除。
我知道myString = myString.replace('/^\\:/');
可以用于行首,但不确定如何使用 $
字符来表示行末... 有人能帮忙纠正吗?
谢谢
这位相对新手想要一种方法,以便在字符串末尾为冒号的情况下将其删除。
我知道myString = myString.replace('/^\\:/');
可以用于行首,但不确定如何使用 $
字符来表示行末... 有人能帮忙纠正吗?
谢谢
正则表达式字面量(/.../
)不应该出现在字符串中。将你的代码更正,去掉字符串开头的冒号,你可以得到:
myString = myString.replace(/^\:/, '');
为了匹配字符串末尾的冒号,应该在冒号后面放置$
而不是在冒号前面放置^
:myString = myString.replace(/\:$/, '');
您也可以使用纯字符串操作来完成:
if (myString.charAt(myString.length - 1) == ':') {
myString = myString.substr(0, myString.length - 1);
}
尝试简单地使用
myString = myString.replace(/:$/, '');
这段代码将会在字符串末尾移除:
/\n+$/
:量词应该跟随换行符,而不是结束定界符。 - Fabrizio Calderan$
需要放在正则表达式的末尾以匹配行尾。
/:$/
replace
语句中为什么会有多个正斜杠和反斜杠呢? - neil/.../
是正则表达式字面量。在正则表达式中,有一个反斜杠来转义冒号字符,以便它被解释为字面字符,并且在表达式中没有特殊含义。(我已经更正了上面的代码,它有双反斜杠来转义模式以将其放入字符串中,即new Regex('^\\:')
,您的原始代码是一种正则表达式字面量和正则表达式字符串的混合形式。) - Guffa/.../
这种格式,只知道反斜杠 - 谢谢你的解释。 - neil