[英]Javascript: String of text to array of characters
我试图将一个巨大的字符串更改为字符数组。 在其他语言中,有.toCharArray()。 我已经使用split来获取点,在字符串中用逗号隔开并创建字符串数组,但是我只能得到分开的单词,并且不知道如何从它们中构成一个char数组。 或如何添加另一个正则表达式来分隔单词? 我的主要目标是其他事情,但是我首先需要这个。 谢谢
var str = " If you don't pass anything, you'll get an array containing only the original string, rather than an array containing each character."
str = str.toLowerCase();
str = str.split(/[ ,.]+/);
var charArray[];
for(var i = 0; i < str.length; i++) {
charArray.push(str.charAt(i));
}
或者,您可以简单地使用:
var charArray = str.split("");
这样可以:
var strAr = str.replace(/ /g,' ').toLowerCase().split("")
您可以将String#replace
与regex和String#split
。
arrChar = str.replace(/[', ]/g,"").split('');
演示:
var str = " If you don't pass anything, you'll get an array containing only the original string, rather than an array containing each character."; var arrChar = str.replace(/[', ]/g,"").split(''); document.body.innerHTML = '<pre>' + JSON.stringify(arrChar, 0, 4) + '</pre>';
在要从字符串中删除的[]
添加字符。
首先,你必须更换,
和.
然后可以将其拆分:
var str = " If you don't pass anything, you'll get an array containing only the original string, rather than an array containing each character." var strarr = str.replace(/[\\s,.]+/g, "").split(""); document.querySelector('pre').innerHTML = JSON.stringify(strarr, 0, 4)
<pre></pre>
我试图将一个巨大的字符串更改为字符数组。
这会做
str = str.toLowerCase().split("");
split()方法用于将字符串拆分为子字符串数组,并返回新数组。
提示:如果将空字符串(“”)用作分隔符,则该字符串将在每个字符之间分割 。
注意:split()方法不会更改原始字符串。
你可以这样
var coolString, charArray, charArrayWithoutSpecials, output; coolString = "If you don't pass anything, you'll get an array containing only the original string, rather than an array containing each character."; // does the magic, uses string as an array to slice charArray = Array.prototype.slice.call(coolString); // let's do this w/o specials charArrayWithoutSpecials = Array.prototype.slice.call(coolString.replace(/[', ]/g,"")) // printing it here output = "<b>With special chars:</b> " + JSON.stringify(charArray); output += "<br/><br/>"; output += "<b>With special chars:</b> " + JSON.stringify(charArrayWithoutSpecials) document.write(output);
另一种方式是
[].slice.call(coolString)
我想这就是您要寻找的。 忽略所有符号和空格,并将所有字符添加到小写字母的数组中。
var str = " If you don't pass anything, you'll get an array containing only the original string, rather than an array containing each character." str = str.replace(/\\W/g, '').toLowerCase().split(""); alert(str);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.