我如何截断字符串并删除尾随字符(如果存在)?

时间:2014-06-10 16:25:11

标签: javascript

我有一个变量:

a = "test data";
a = "test data!";

如何删除'!'如果它存在于字符串的末尾?如果可能的话,我正在寻找一种最干净的解决方案。

3 个答案:

答案 0 :(得分:5)

最简单的方法是将regular expression!$一起使用,这意味着"匹配感叹号!标记在字符串结尾$之前#34;

'test data!'.replace(/!$/, '');

答案 1 :(得分:1)

如果您不想使用正则表达式,则可以使用此逻辑。下面的语法是用javascript编写的,因为我现在正在使用NodeJS,但你可以定制任何语言。

function removeTrailExclamation(str) {
    return str.charAt(str.length-1) == '!' ? str.substring(0,str.length-1) : str;
} 

如果您对条件运算符不满意

function removeTrailExclamation(str) {
    if(str.charAt(str.length-1) == '!') {
        return str.substring(0,str.length-1);
    } else {
        return str;
    }
} 

希望有所帮助!

答案 2 :(得分:0)

如果您只想在最后使用substring

进行替换
if(a.charAt(a.length - 1)=='!')
     a.substring(0, a.length - 1);

如果每个地方......

a..replace(!, '');