我正在使用Javascript阅读文本文件。该文件有81个值,但数组的长度为97.这意味着在每一行之后,由于某种原因,javascript会读取两个额外的"空"字符。当我输出它们时,它们显示它是一个空字符串,但是当我使用""
或''
或null
时,它们都没有被检测到。
我的文件内容如下:
30025001
14032698
10236500
10245963
10325981
10253002
10326987
78403210
如果它们不是空字符,那么它们是什么,以及如何过滤它们。
答案 0 :(得分:1)
答案 1 :(得分:0)
非常确定你看到行终止符回车和新行(\ r \ n序列)。
您可以使用alert( str.charCodeAt( 9 ) + ", " + str.charCodeAt( 10 ) )
来验证这种情况。它应输出10, 13
,这是相应的ascii代码。
从字符串中删除所有非数字的最简单方法是:
str = str.replace( /[^0-9]/g, "" );
答案 2 :(得分:0)
答案 3 :(得分:0)
我之前的回答是如何确定当你看到空格时手上有什么角色,但我想你只想确定一个角色是否只是空格 - RegEx({{3 }})非常适合这个。根据你在我的另一个答案中的评论,你可以测试一个角色是否是几个字符之一:
/[\n\r]/.test( substring )
或者你可以使用RegEx的空白空格\s
来测试一个字符是否是任何一个空格:
/\s/.test( shorthand )
或者,如果您知道自己只对数字字符的完整子串(字符串形式的数字,又称数字)感兴趣,则可以使用数字速记\d
:
/\d/.test( substring )