使用 RegExp 分割字符串,但将空格(空格或 crlf)存储到项目中

发布于 2024-07-13 08:35:57 字数 337 浏览 5 评论 0原文

示例输入 (orgtext = a[crlf]b[space]c[crlf] )

我喜欢将每个单词 a、b、c 存储到带有原始后缀 crlf 或 space 的单词数组中。 目前调用 SPLIT 会删除后缀作为其分隔符,但我也喜欢存储分隔符。 我可以调整正则表达式以返回后缀并仍然拆分吗?

Words = new Array; 
var ar: Array = orgtext.split( /\s+/  );   

for (var i:int = 0; i<ar.length;i++ )
{
Words.push(  ar[i] +"suffix here" ); 
}

sample input (orgtext = a[crlf]b[space]c[crlf] )

I like to store each word a,b, c to the words array with the original suffix crlf or space. Currently calling SPLIT drops the suffix as its separator, but I like to store separator as well. Can I adjust regexp to return also suffix and still split?

Words = new Array; 
var ar: Array = orgtext.split( /\s+/  );   

for (var i:int = 0; i<ar.length;i++ )
{
Words.push(  ar[i] +"suffix here" ); 
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迎风吟唱 2024-07-20 08:35:57

通常,您会使用表达式继续调用 exec使用全局 (g),以便 lastIndex 将被设置。

var input : String = "asd asd asd asd";
var output : Array = new Array();

var expr : RegExp = /[^\s]+(?:$|\s+)/g;
var result : Object = expr.exec(input);

while(result != null)
{
    input.push(result[0].toString());
    result = expr.exec(input);
}

根据您预期的匹配数量,使用...

([^\s]+(?:$|\s+))+

... 可能会更快,它将捕获一次 exec() 中所有可能的匹配。 匹配项将在 result[1] ... result[n] 中可用

Generally you would use keep calling exec with an expression that uses the global (g) so that the lastIndex will be set.

var input : String = "asd asd asd asd";
var output : Array = new Array();

var expr : RegExp = /[^\s]+(?:$|\s+)/g;
var result : Object = expr.exec(input);

while(result != null)
{
    input.push(result[0].toString());
    result = expr.exec(input);
}

Depending on the number of matches you can expect, it might be faster to use...

([^\s]+(?:$|\s+))+

... which will capture all possible matches in one exec(). The matches will be available in result[1] ... result[n]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文