js选取特定的字符串

假如我要选取world 我知道的是用

var str="hello world!";
console.log(str.substring(6,11));

str.split(" "); //这样分割取值也行

有什么其他不改变原来的字符串的方法吗?

阅读 3.3k
4 个回答
console.log('substr:', str.substr(6));
console.log('substring:', str.substring(6));
console.log('slice:', str.slice(6));
console.log('split:', str.split(' ')[1]);
console.log('原字符串:', str);

clipboard.png

字符串是基本数据类型,当你确定后,是不会改变的。
当你使用上述的方法,是后台自动调用了new String(str)生成一个对象,在这个对象上调用相应的方法,调用完毕后,会自动删除这个对象,所以原字符串根本没有改变。
建议你看一下基本包装类型,就会明白的,加油!

var str="hello world!";
console.log(str.slice(6,11));
console.log(str)
//多看看字符串的方法就好了 slice就不会改变原数组

并没有改变原来的字符串呀

<script>

  var str='hello world';
  console.log(str);
  var substr=str.substring(6,12);
  console.log(substr);
  console.log(str);
</script>

兄弟, js里的元数据(字符串和数字), 默认都没有改变原来数据的方法

str.substring(6,12)

返回的是一个新的字符串, 当然你可以str = str.substring(6,12) 用返回值来覆盖原来的值.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题