繁体   English   中英

Javascript:文本字符串到字符数组

[英]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()方法不会更改原始字符串。

请阅读链接: http : //www.w3schools.com/jsref/jsref_split.asp

你可以这样

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM