如何从字符串中删除最后一个单词?

时间:2016-08-17 13:19:02

标签: javascript string

如何从字符串中删除最后一个单词?

例如,使用此输入:"I am from Tamil Nadu."

我想要这个结果:"I am from Tamil."

4 个答案:

答案 0 :(得分:4)

    var str = " i am from Tamil nadu.";
    var res = str.split(" ");  //split by space
    res.pop();  //remove last element
    alert(res.join(" ") + ".");  //join back together

答案 1 :(得分:1)

您可以split之间的空格,slice最后一部分关闭,join所有内容再次合并。一切都在一条线上。 ;)

var str = "i am from Tamil nadu.";
var my = str.split(" ").slice(0, -1).join(" ");

console.log(my);

如果最后总是有.,并且您想要保留它,则可以使用正则表达式等。但是当总有一个点时,我会再次追加它们而不会尝试更复杂的东西。

var str = "i am from Tamil nadu.";
var my = str.split(" ").slice(0, -1).join(" ") + ".";

console.log(my);

或者你也可以事后检查。

var str = "i am from Tamil nadu.";
var my = str.split(" ").slice(0, -1).join(" ");

if( str.trim().substr(-1) === "." ) {
    my += ".";
}

console.log(my);

答案 2 :(得分:1)

我得到了这个解决方案:

 var lastIndex = str.lastIndexOf(" ");
 str = str.substring(0, lastIndex);
 alert(str);

答案 3 :(得分:0)

试试这个:

<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <script>
             var str = "I am from Tamil Nadu."
             var res = "";
                var spl = str.split(' ');
                var len = spl.length;
                for(var i=0; i<len - 1;i++) {
                    if(i == len-2 )
                        res +=spl[i] +".";
                    else
                        res +=spl[i] +" ";
                }
            alert(res);
        </script>
    </body>
</html>