如何从"Melbourne is"
打印"Melbourne is great"
的子字符串? (注意空格),使用console.log?
答案 0 :(得分:0)
如果要删除字符串的最后一部分,可以将其拆分为数组。然后删除其中的最后一个元素,然后再将它连接回一个字符串:
var str = "Melbourne is Great";
var temp = str.split(' ');
temp.pop(); // remove last element
var out = temp.join(' '); // "Melbourne is"
替代方法,如果你想在2.空格后删除所有内容,你可以找到该空间的索引。然后使用该索引创建一个子字符串:
var str = "Melbourne is Great";
// String.prototype.indexOf(needle[, offset]);
var index = str.indexOf(' ', str.indexOf(' ')+1);
var out = str.slice(0, index);
如果你想保留所有的东西"伟大"你可以使用与上面相同的方法。
你也可以使用临时数组:
var str = "Melbourne is Great";
var temp = str.split(' ');
// Make a new array that contains the first to elements from temp, then join it on space.
var out = temp.slice(0, 2).join(' ');
答案 1 :(得分:0)
有几种不同的方法可以解决这个问题:
如果您知道要删除最后一个字,可以使用substr
和lastIndexOf
剪切最后一个空格:
var str = 'Melbourne is great';
return str.substr(0, str.lastIndexOf(' '));
如果您知道自己需要前两个单词,可以使用正则表达式replace
来匹配短语的一部分并返回该部分:
var str = 'Melbourne is great';
return str.replace(/([^ ]+ [^ ]+).*/, '$1');
如果您想获得一定数量的前导(或尾随)字词,可以使用split
和slice
将字符串分解为单词代币:
var str = 'Melbourne is great';
return str.split(' ').slice(0, 2)
在几乎所有语言中都有很多可能的方法来处理字符串操作,最好的选择实际上取决于你的确切用例。
有关更多参考,请查看MDN's String
page,其中列出了字符串对象上可用的所有方法。