2

在我的脚本中,我有一个带有换行符的字符串。使用换行符 ( \n) 字符我将其解析为数组。

我努力比较我的 if 条件(parsedarray[0]=='newline character')。请帮我比较一下 if 条件下的换行符。我也试图提醒parsedarray[0]. 它提醒空白警报框。`我无法检查 if 语句中的换行符。例如,我有一个带有多个换行符的字符串,由 40 行组成的选项卡。在我的脚本中,用户输入一个行号,该行号的字符串,在收到这两个信息后,我想用行号中输入的字符串替换换行符。这里行号是一个索引. 因此,我将再次通过加入已解析的字符串来构造单个字符串。我的数组大小也不应该增长。或减少.??? 重要的是,如果两个匹配项(换行符除外)都需要放置警报消息,我想用可用的字符串验证给定的字符串。

 var strarray=doc.getElementbyid('mytextarea').value;
 var parsedarray=[];
 parsedarray=strarray.split('\\n');`
4

5 回答 5

11

而不是split用于indexOf查找指定值在字符串中第一次出现的位置。

例如:

var text="Hello world\n";
if(text.indexOf("\n")==-1){
  alert("No newline characters")
}else{
  alert("Contains newline characters")
}
于 2013-10-31T10:16:06.497 回答
1

String.split() 不会在结果数组中包含分隔符。如果您想查找换行符的出现,我建议您String.indexOf("\n")改用。

于 2013-10-31T10:15:58.330 回答
0

你可以做这样的事情

<html>
<head>
<script>
function myFunction()
{
var strarray=document.getElementById("tre").value;
var eachLine = strarray.split('\\n');
alert('Lines found: ' + eachLine.length);
for(var i = 0, l = eachLine.length; i < l; i++) {
//do add another string to the index here
alert('Line ' + (i+1) + ': ' + eachLine[i]);

}
</script>
</head>
<body>
<textarea id="tre"></textarea>
<button onclick="myFunction()">Click me</button>
</body>
</html>
于 2013-10-31T10:20:02.263 回答
0

split方法会将您的字符串拆分为一个字符串数组,这些字符串由您作为参数传递的字符分隔。例如:

var text = 'foo\nbar\nbaz',
    splitted = text.split('\n');

console.log(splitted); // ["foo", "bar", "baz"]

如果你想用另一个字符串替换你的换行符,你可以使用该replace方法。

var text = 'foo\nbar\nbaz',
    replaced = text.replace(/\n/g, '-');

console.log(replaced); // foo-bar-baz
于 2013-10-31T10:20:29.643 回答
0

我重新创建了数组,就像var one=document.forms[0]["mytextarea"].value; myarray=one.split('\|');在每个换行符之后添加一个分隔符。然后我使用分隔符拆分字符串。然后,我可以\n通过每个索引轻松访问换行符。替换特定索引上的字符串后,我再次通过使用相同的分隔符连接它们来构造单个字符串。当我尝试打印索引时,var two=myarray.join('|');我的警报框现在也会显示。\n感谢您的所有贡献..

于 2013-11-01T10:54:26.210 回答