Javascript中的未知字符

时间:2014-04-20 14:40:46

标签: javascript html5

我正在使用Javascript阅读文本文件。该文件有81个值,但数组的长度为97.这意味着在每一行之后,由于某种原因,javascript会读取两个额外的"空"字符。当我输出它们时,它们显示它是一个空字符串,但是当我使用""''null时,它们都没有被检测到。

我的文件内容如下:

30025001
14032698
10236500
10245963
10325981
10253002
10326987
78403210

如果它们不是空字符,那么它们是什么,以及如何过滤它们。

4 个答案:

答案 0 :(得分:1)

  

该文件有81个值,

81位数,是的。

  

但是数组的长度是97

因为您读取了整个文件,而不仅仅是连续的数字。该文件还包含8个换行符,每个换行符似乎包含CRLF个字符。

答案 1 :(得分:0)

非常确定你看到行终止符回车和新行(\ r \ n序列)。

您可以使用alert( str.charCodeAt( 9 ) + ", " + str.charCodeAt( 10 ) )来验证这种情况。它应输出10, 13,这是相应的ascii代码。

从字符串中删除所有非数字的最简单方法是:

str = str.replace( /[^0-9]/g, "" );

答案 2 :(得分:0)

您可以通过String.prototype.charCodeAt(index)方法识别Unicode字符。

一旦您隔离了要识别的子字符串:

substring.charChodeAt( 0 );

答案 3 :(得分:0)

我之前的回答是如何确定当你看到空格时手上有什么角色,但我想你只想确定一个角色是否只是空格 - RegEx({{3 }})非常适合这个。根据你在我的另一个答案中的评论,你可以测试一个角色是否是几个字符之一:

/[\n\r]/.test( substring )

或者你可以使用RegEx的空白空格\s来测试一个字符是否是任何一个空格:

/\s/.test( shorthand )

或者,如果您知道自己只对数字字符的完整子串(字符串形式的数字,又称数字)感兴趣,则可以使用数字速记\d

/\d/.test( substring )