Javascript 换行符\n JS中的问题
我正在读取带有Javascript 换行符\n JS中的问题,javascript,html,google-chrome,newline,Javascript,Html,Google Chrome,Newline,我正在读取带有xmlHttp对象的文件,并通过split方法使用换行符拆分responseText 但是“\n”字符实际上不起作用。它就像我的代码中的一个错误,导致我的代码甚至无法正常工作。 这是一句话: var lines=myPlaylist.responseText.split("\n"); 如果将数组myPlaylist与其他字符拆分,则不会出现错误。 只是\n造成了我无法理解的问题 起初,我认为错误是由于空白:nowrap,因为我在Chrome上执行代码。 虽然我从未在任何地方使用过
xmlHttp
对象的文件,并通过split方法使用换行符拆分responseText
但是“\n”字符实际上不起作用。它就像我的代码中的一个错误,导致我的代码甚至无法正常工作。
这是一句话:
var lines=myPlaylist.responseText.split("\n");
如果将数组myPlaylist与其他字符拆分,则不会出现错误。
只是\n造成了我无法理解的问题
起初,我认为错误是由于空白:nowrap,因为我在Chrome上执行代码。
虽然我从未在任何地方使用过空格,但我尝试将其设置为正常,但没有效果。
类似地,我在其他浏览器(Firefox、IE等)上尝试了我的代码,它也不起作用。看来我在使用\n时遇到了问题。有没有其他方法可以在我的代码中使用换行符或错误
顺便说一下,这个错误似乎是一个语法错误,因为它不仅仅忽略\n字符。只会导致我的代码无法工作
编辑:示例responseText
[playlist]
File1=http://localhost:7000/Videos/Big%20Buck%20Bunny%20Trailer.ogv
Title1=Bunny Trailer
Length1=23
File2=http://localhost:7000/Videos/Dizzy%20Cat%20Video.ogv
Title2=Kedi
Length2=33
NumberOfEntries=2
Version=2
试着用这句话
/\n/
而不是这个
"\n"
这里有一个SO线程,它将提供更多的洞察力 EDIT1: 我刚刚测试了这个,它在新的线路上进行了适当的拆分。你能发布一些你想要拆分的内容吗
<html>
<script>
function testSplit(value)
{
var lines = value.split(/\n/);
alert(lines);
}
</script>
<body>
<textarea id="test" name="test" onblur="testSplit(this.value);">
</textarea>
</body>
</html>
这里有一篇可能对您有用的老文章:这应该可以正常工作。
您确定myPlaylist
具有responseText
属性,并且该属性是字符串吗
如果你发现了一个最终的错误怎么办
try {
var lines = myPlaylist.responseText.split(/\n/g);
alert(lines.length);
} catch (e) {
alert(e.message);
}
我找到了自己解决问题的办法。
在使用随机特殊字符后,\r用于回车的字符对我的问题起到了很好的作用。
它的行为就像一个换行符\n字符,或者至少在我的情况下它完成了它的工作。
谢谢大家的回答和有用的评论。请使用
\\n
而不是\n
我尝试了我的代码,效果很好如果我的答案确实解决了你的问题,记得投票并接受答案。我想我会提醒你,因为你是新来的:)如果你能找到解决我问题的办法,那将是我要做的第一件事,别担心;)如果/\n/不起作用,您可以发布一个您试图拆分的响应文本的示例吗?我在编写它之前已经检查了这个和其他类似的线程。并且/r/n或在我的情况下不起作用。那么您已经尝试了这一行了吗
ar lines=myPlaylist.responseText.split(/\r\n | \r | \n/)代码>感谢您的链接和帮助。我找到了解决办法。看起来Chuck找到了答案<代码>/\r\n |\r |\n/
我不小心撞到了downvote。刚刚投票“弥补”;)myPlaylist的定义如下:var myPlaylist=new-XMLHttpRequest();所以它一定有这个属性。我不能用你的加法执行mycode。看来问题还在继续哦!我们没有人建议使用全球旗帜!我想这可能是错的@cantbereached在RegExp之后使用g尝试一些您以前尝试过的方法。@cantbereached关于AJAX,您可能希望允许这样的跨浏览器,因为您的方法在IE中不起作用:@cantbereached:您使用的是什么浏览器?Javascript控制台有什么有用的话要说吗?我同时使用chrome和firefox。我的程序是一种文件浏览器,具有键盘导航功能。当我使用\n或任何这些解决方案时,我甚至无法浏览菜单。这就是为什么我认为这是一个语法问题,因为这对我来说很有效。在我的例子中,我必须拆分的字符串来自JSON.stringify(str)
,因此新行字符\n
实际上是\n
,因此这很有帮助
try {
var lines = myPlaylist.responseText.split(/\n/g);
alert(lines.length);
} catch (e) {
alert(e.message);
}