gpt4 book ai didi

Javascript - 使用 REGex 列出所有 whitepaces 索引

转载 作者:行者123 更新时间:2023-11-29 10:10:47 25 4
gpt4 key购买 nike

我想将所有的空白索引列成一个数组。

我试试这个:

<script>
var waw
var text1="Saya cinta bahasa java"
var waw= text1.search(/\s/g)
alert(waw)
</script>

失败。它只显示第一个空白索引。而我需要做的是将它们全部列出到一个数组变量中,例如 waw。

应该是:

waw[0]= 4
waw[1]= 10
waw[2]= 17

最佳答案

要获取字符串中每个空白字符的索引数组,您只需遍历字符串中所有 \s 模式匹配项,获取匹配项并检查正则表达式 lastIndex 属性。无需替换任何东西,或使用回调函数。

var waw = [];
re = /\s/g;
var text1="Saya cinta bahasa java";
while((m = re.exec(text1)) !== null) {
waw.push(re.lastIndex - m.length);
}
document.write(JSON.stringify(waw)); // => [4,10,17]

请注意,在 JavaScript 中,\s 仅匹配 ASCIII 空格。

这是 Unicode 空白 的列表(参见 Unicode Character Categories ):

分隔符、空格\p{Zs}:

U+0020 SPACE
U+00A0 NO-BREAK SPACE
U+1680 OGHAM SPACE MARK
U+2000 EN QUAD
U+2001 EM QUAD
U+2002 EN SPACE
U+2003 EM SPACE
U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE
U+2006 SIX-PER-EM SPACE
U+2007 FIGURE SPACE
U+2008 PUNCTUATION SPACE
U+2009 THIN SPACE
U+200A HAIR SPACE
U+202F NARROW NO-BREAK SPACE
U+205F MEDIUM MATHEMATICAL SPACE
U+3000 IDEOGRAPHIC SPACE

分隔符,行 \p{Zl}:

U+2028 LINE SEPARATOR

分隔符,段落 \p{Zp}:

U+2029 PARAGRAPH SEPARATOR

因此,您可以使用以下正则表达式获取所有空格:

var re = /[\s\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000\u2028\u2029]/g;

关于Javascript - 使用 REGex 列出所有 whitepaces 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33935535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com