为了账号安全,请及时绑定邮箱和手机立即绑定

在 Java 中按字符拆分单词

在 Java 中按字符拆分单词

墨色风雨 2022-09-22 16:13:57

请考虑以下示例。我想用字符“T”将字符串分成两部分


// input

String toDivideStr = "RaT15544";


// output

first= "RaT";

second = "15544";

我试过这个:


String[] first = toDivideStr.split("T",0);

输出:


first = "Ra"

second = "15544"

如何实现此目的?


查看完整描述

4 回答

?
噜噜哒

TA贡献1466条经验 获得超6个赞

你需要的是,找到最后一个“T”,然后拆分:

StringToD.substring(StringToD.lastIndexOf("T") + 1)


查看完整回答
反对 回复 2022-09-22
?
Helenr

TA贡献1471条经验 获得超3个赞

您可以使用正前瞻来断言数字,并使用正前瞻来断言 。RaT

(?<=RaT)(?=\\d)

例如:

String str = "RaT15544";
for (String element : str.split("(?<=RaT)(?=\\d)"))
    System.out.println(element);

正则表达式演示|爪哇演示


查看完整回答
反对 回复 2022-09-22
?
人到中年有点甜

TA贡献1570条经验 获得超7个赞

为此,您可以使用带有限制参数的正面前瞻。split(?=\\d)


仅在拆分方法参数中,发生的情况是正则表达式引擎消耗此 。因此,发生的两个字符串拆分没有 。为了避免消耗字符,我们可以使用非消耗性前瞻。TTT


(?=\\d)- 这将匹配遇到的第一个数字,但它不会消耗此数字


公共静态空隙主(字符串[] 参数) {


    String s = "RaT15544";

    String[] ss = s.split("(?=\\d)", 2);

    System.out.println(ss[0] + " " + ss[1]);

}


查看完整回答
反对 回复 2022-09-22
?
忽然笑

TA贡献1489条经验 获得超5个赞

下面可用于分别拆分字母和数字。regex

String StringToD = "RaT15544";
String[] parts = StringToD.split("(?<=\\d)(?=\\D)|(?<=\\D)(?=\\d)");
System.out.println(parts[0]);
System.out.println(parts[1]);


查看完整回答
反对 回复 2022-09-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信