如何替换字符串的刚刚结束

时间:2017-05-03 09:20:56

标签: javascript regex string

我想要一个正则表达式替换字符串的结尾,如果它以' .id'结尾。例如,如果我有一个名为'密码'什么都没有被取代如果我有另一个名为' idiot'的字符串,则没有任何内容被替换。但是,如果我有' email.id'它被一个空字符串替换。

我使用了loadash的trimEnd,但我注意到它正在修改密码中的d字母,结果是passwor

3 个答案:

答案 0 :(得分:3)

使用\.id$搜索并替换为''。 Regex101 Demo

答案 1 :(得分:3)

使用regex

简单地处理模式/\.id$/g

说明:

  1. \.id与字符串
  2. 中的.id匹配
  3. $与字符串
  4. 末尾的位置匹配

    Demo Regex

    
    
    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('.'));