删除包含?的行?来自TextArea / String?

时间:2011-12-08 14:07:00

标签: actionscript-3 flex search text

快速提问。

我想搜索TextArea组件(flex)以查看是否有任何包含“?”的行。如果有,整行将被删除。

我该怎么做?

实施例: 这就是我所拥有的:

10005 20003
10067 52234
03357 ?
30057 21135
64227 ? 
25777 99523

这是我需要得到的:

10005 20003
10067 52234
30057 21135
25777 99523

3 个答案:

答案 0 :(得分:1)

使用正则表达式:

myTextArea.text = myTextArea.text.replace(/.*\?.*/g,"");

答案 1 :(得分:0)

您可以简单地遍历这些行并跳过包含问号的行。这样的事情应该有效:

var newText = "";
var lines:Array = yourText.split("\n"); // or \r
for (var i:int = 0; i < lines.length; i++) {
    var line:String = lines[i];
    if (line.indexOf("?") >= 0) continue;
    newText += line + "\n";
}

trace(newText);

答案 2 :(得分:0)

如果您想要摆脱循环,这是要使用的RegEx:

myTextArea.text = myTextArea.text.replace(/(^|\n|\r)+.*?\?.*/g,"");