我想要一个正则表达式替换字符串的结尾,如果它以' .id'结尾。例如,如果我有一个名为'密码'什么都没有被取代如果我有另一个名为' idiot'的字符串,则没有任何内容被替换。但是,如果我有' email.id'它被一个空字符串替换。
我使用了loadash的trimEnd,但我注意到它正在修改密码中的d
字母,结果是passwor
。
答案 0 :(得分:3)
使用\.id$
搜索并替换为''。 Regex101 Demo
答案 1 :(得分:3)
使用regex
简单地处理模式/\.id$/g
说明:
\.id
与字符串.id
匹配
$
与字符串
console.log('password'.replace(/\.id$/g,""))
console.log('email.id'.replace(/\.id$/g,""))

答案 2 :(得分:0)
如果“.id”是静态的,您可以使用
var newstr = str.split('.id').join('');
如果是动态的,您可以使用
var newstr = str.substr(0, str.indexOf('.'));