查找以换行符开头的单词

时间:2015-05-13 18:20:54

标签: actionscript-3

我有一个简单的循环来删除文本末尾的所有单词,这些单词以#space开头。 AS3:

//   messageText is usually taken from a users input field - therefore the newline is not present in the "messageText"

var messageText = "hello world #foo lorem ipsum #findme"
while (messageText.lastIndexOf(" ") == messageText.lastIndexOf(" #")){
messageText = messageText.slice(0,messageText.lastIndexOf(" "));
}

如何检查#之前的位置不是空格而是换行符? 我试过了,但没有找到任何结果:

while (messageText.lastIndexOf(" ") == messageText.lastIndexOf("\n#")){
messageText = messageText.slice(0,messageText.lastIndexOf(" "));
}

1 个答案:

答案 0 :(得分:1)

classpath

另请参阅:this previous (dupe) post

首先,我会手动尝试将“\ n”替换为“\ r \ n”,然后使用“\ r \ n”来查看是否还有其他换行符正在使用中。如果是这样,那么您只需要一个更好的搜索词,一次匹配每个版本。

更好的解决方案可能是使用正则表达式(RegExp)。您正在显式查找换行符和后面的空格。您可以使用此正则表达式模式查找具有单个空格的行的开头:

\n is the newline character in the Unix file definition.
\r\n is the Windows version.
\r is the OSX version.

^克拉字符强制它是一条线的起点。 \ s是任何空格字符的占位符,因此如果您不想匹配制表符,请将其更改为空格。 (我不熟悉ActionScript,但是如果没有找到模式,那么语法看起来没问题,search()将返回-1。