4

我目前正在尝试解析 smil (xml) 文件。

我遇到的最大问题是该行是否除了空格和行尾不包含其他任何内容。

我尝试过:

if(line.trim()==='\n')
if(line.trim().length<='\n'.length)

n='\n';
if(line.trim()===n)

他们都没有工作。有没有办法检查字符串中是否没有“真实”字符?或者如果字符串只包含 \t、\n 和空格?

4

3 回答 3

14

阅读一些关于正则表达式的教程,然后试试这个

  if (/^\s*$/.test(line)) console.log('line is blank');

/^\s*$/是一个正则表达式,表示

 ^ anchor begin of string
 \s whitespace character class (space, tab, newline)
 *  zero or more times
 $ end of string
于 2013-09-10T16:37:52.663 回答
2

Trim 删除所有前导和尾随WHITESPACES。我认为它也会删除 \n 和 \t 。您应该在修剪后检查字符串的长度是否为零。如果长度不为零,则字符串必须包含空格以外的字符。

正如你提到的 Node.js。如果修剪不起作用,那么您可以通过简单地执行以下代码来实现修剪:

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g, '');
  };
}
于 2013-09-10T16:40:51.947 回答
0

我会尝试不同的方法;找到你所追求的角色类型。

var lineR = line.search(char(34)) //char(34) is carriage return
if(lineR != null)
//lineR is your actual position of lineReturn. Do a Substring(0,lineR) then.
    line = line.Substring(0,lineR)

或者,查看 .lastIndexOf()。http://www.w3schools.com/jsref/jsref_lastindexof.asp

于 2013-09-10T16:43:42.380 回答