我正在尝试找出一种在 java 中拆分字符串的方法,该字符串遵循如下模式:
String a = "123abc345def";
结果应如下所示:
x[0] = "123";
x[1] = "abc";
x[2] = "345";
x[3] = "def";
但是,我完全不知道如何实现这一目标。请问有人可以帮我吗?我曾尝试在网上搜索类似的问题,但是很难在搜索中正确地表达它。
请注意: 字母和数字的数量可能会有所不同(例如,可能会有这样的字符串 ‘1234a5bcdef’)
原文由 user843337 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以尝试拆分
(?<=\D)(?=\d)|(?<=\d)(?=\D)
,例如:它匹配数字和非数字之间的位置(以任何顺序)。
(?<=\D)(?=\d)
- 匹配非数字(\D
)和数字(\d
)之间的位置(?<=\d)(?=\D)
- 匹配数字和非数字之间的位置。