这是
Enter Your Name :xyz Enter Your Age :abc
我希望将预先格式化的文本转换为charArray。
我正在尝试通过转换来实现它
var something;
var pre=document.getElementsByTagName("pre")[0];
pre.innerHTML.split(something);
var 某些东西应该是一些正则表达式。
以下是regexp的要求:
1)保留所有空白区域,包括存在的多个空格(即阵列中每个空格的单独索引)
2)保留换行符
请用纯粹的javascript提供答案。我真的很感激。
答案 0 :(得分:1)
RegEx:
(.)|(\n)
<强>代码强>
pre.innerHTML.match(/(.)|(\n)/g);
//output
["E", "n", "t", "e", "r", " ", "Y", "o", "u", "r", " ", "N", "a", "m", "e", " ", " ", ":", "x", "y", "z", "
", "E", "n", "t", "e", "r", " ", "Y", "o", "u", "r", " ", "A", "g", "e", " ", " ", " ", ":", "a", "b", "c"]
无法将\n
重新定位为"\n"
。第21个元素是\n
。这就是输出为两行输出的原因。如果您要搜索广告替换"\n"
,请使用indexOf("\n")
并将其替换为"\\n"
<强>例如强>
while(k.indexOf('\n')!= -1) {
k[k.indexOf('\n')] = "\\n"
}
//output
["E", "n", "t", "e", "r", " ", "Y", "o", "u", "r", " ", "N", "a", "m", "e", " ", " ", ":", "x", "y", "z", "\n", "E", "n", "t", "e", "r", " ", "Y", "o", "u", "r", " ", "A", "g", "e", " ", " ", " ", ":", "a", "b", "c"]
使用RegEx的另一种选择:虽然对我来说是一种污泥
var charArr = []
k=$('#regex_string').val().replace(/(.)|(\n)/g, function(a,b) {
if(a == "\n") {
charArr.push("\\n")
return "\\n"
} else {
charArr.push(a)
return a
}
})
console.log(charArr)
答案 1 :(得分:0)
在javascript字符串中默认为char数组。
var x = "this is a string";
所以你可以这样做:
var l = x.length; //get string length
var c = x[l - 1]; // last char of x
对于您调用toString的数字:
var y = 1234;
var x = y.toString ();