如何从字符串中删除最后一个单词?
例如,使用此输入:"I am from Tamil Nadu."
我想要这个结果:"I am from Tamil."
答案 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>