这是我的问题:
var string = 'string & string';
let condition = /\S*(&)\S*/;
var array = string.split(condition);
for(i=0;i<array.length;i++){
if(i!==1){//array[1] is simply '&' in that case
document.getElementById('myDiv').innerHTML+=array[i];
}
}
//the output:
string string
//but:
if string = 'string&string' the output is:
empty...
我不能只使用替换或类似的方法,因为我正在处理一些更复杂的代码。这只是问题的简化示例。 我真正的问题是:为什么我会丢失作为方法拆分主题的字符串的开头和结尾的空格? css'white space:pre'属性不起作用,所以问题就是函数。
答案 0 :(得分:0)
该函数不会删除空格:
➜ ~ node
> var string = 'string & string';
undefined
> let condition = /\S*(&)\S*/;
undefined
> var array = string.split(condition);
undefined
> array
[ 'string ', '&', ' string' ]
你的CSS一定是错的,因为I tried your code with white-space: pre
applied to myDiv
it shows whitespace。
答案 1 :(得分:0)
将字符串添加到行
中的HTML后,您将丢失空格document.getElementById('myDiv').innerHTML+=array[i];
因为HTML删除了多个空白字符。
您的CSS应如下所示:
#myDiv {
white-space: pre;
}
如果合适,您还可以使用<pre>
标记。