我正在学习正则表达式(使用此站点)并试图弄清楚如何解析以下字符串1***2给我[1,2](不使用3星号的特定情况).可以有任意数量的星号作为一个分隔符拆分,所以我正在寻找*char后跟*通配符.分隔符也可以是字母.
输出应该只是数字,所以我用它^-^0-9来分割其他一切.
到目前为止,我尝试过:
input.split("[^-^0-9]"); // 给我 [1, , ,2]
input.split("[^-^0-9\\**]"); // 给我 [1***2]
input.split("[^-^0-9+\\**]"); // 给我 [1***2]
\* 不起作用,因为它不被识别为有效的转义字符.
谢谢!
NPE*_*NPE 12
你在找
input.split("[*]+");
Run Code Online (Sandbox Code Playgroud)
这会将字符串拆分为一个或多个连续的星号.
要允许分隔符中的其他字符(例如字母),请将它们添加到[*] 字符类中.