gpt4 book ai didi

JAVA 与正则表达式拆分不起作用

转载 作者:行者123 更新时间:2023-11-30 10:46:49 26 4
gpt4 key购买 nike

我有以下字符串 46MTS007 并且我必须从字母中拆分数字所以结果我应该得到一个像 {"46", "MTS", "007"} 这样的数组

String s = "46MTS007";
String[] spl = s.split("\\d+|\\D+");

但是 spl 仍然是空的,正则表达式有什么问题?我已经在 regex101 中进行了测试,它按预期工作(带有全局标志)

最佳答案

如果你想使用拆分,你可以使用这个基于 lookaround 的正则表达式:

(?<=\d)(?=\D)|(?<=\D)(?=\d)

RegEx Demo

这意味着拆分下一个位置是数字和前一个位置是非数字的位置,或者当位置是非数字而前一个位置是数字时。

在 Java 中:

String s = "46MTS007";
String[] spl = s.split("(?<=\\d)(?=\\D)|(?<=\\D)(?=\\d)");

关于JAVA 与正则表达式拆分不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36364351/

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