gpt4 book ai didi

java - 如何在java中使用正则表达式分割包含数字和字母的字符串

转载 作者:行者123 更新时间:2023-12-02 02:38:53 27 4
gpt4 key购买 nike

我的任务是将一个以数字开头并包含数字和字母的字符串拆分为两个子字符串。第一个子字符串包含第一个字母之前的所有数字。第二个是剩下的部分,即使包含数字也不应该被分割。

例如,字符串“123abc34de”应拆分为:“123”和“abc34de”。

我知道如何为这样的字符串编写正则表达式,它可能如下所示:

[0-9]{1,}[a-zA-Z]{1,}[a-zA-Z0-9]{0,}

我已经尝试了多次,但仍然不知道如何在 String.split() 方法中应用正则表达式,而且网上关于这方面的资料似乎很少。感谢您的帮助。

最佳答案

你可以这样做

final String regex = "([0-9]{1,})([a-zA-Z]{1,}[a-zA-Z0-9]{0,})";
final String string = "123ahaha1234";

final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}

matcher.group(1) 包含第一部分,matcher.group(2) 包含第二部分

您可以使用这些值将其添加到列表/数组

关于java - 如何在java中使用正则表达式分割包含数字和字母的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45816754/

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