在Java中,用字符拆分单词
考虑下面的例子。我想用字符'T'将字符串分成两部分在Java中,用字符拆分单词,java,string,split,Java,String,Split,考虑下面的例子。我想用字符'T'将字符串分成两部分 // input String toDivideStr = "RaT15544"; // output first= "RaT"; second = "15544"; 我试过这个: String[] first = toDivideStr.split("T",0); 输出: first = "Ra" second = "15544" 如何实现这一点?您需要定位最后一个“T”,然后拆分: StringToD.substring(Strin
// input
String toDivideStr = "RaT15544";
// output
first= "RaT";
second = "15544";
我试过这个:
String[] first = toDivideStr.split("T",0);
输出:
first = "Ra"
second = "15544"
如何实现这一点?您需要定位最后一个“T”,然后拆分:
StringToD.substring(StringToD.lastIndexOf("T") + 1)
对此,您可以使用带
split
limit参数的正向前瞻<代码>(?=\\d)
如果split method参数中只有T
,则正则表达式引擎会使用此T
。因此,发生的两个字符串拆分没有t
。为了避免使用字符,我们可以使用非使用前瞻
(?=\\d)
-这将匹配遇到的第一个号码,但不会使用此号码
公共静态void main(字符串[]args){
您可以使用正向前视来断言一个数字,使用正向后视来断言
RaT
(?<=RaT)(?=\\d)
(?下面的regex
可用于分别拆分字母和数字
String StringToD = "RaT15544";
String[] parts = StringToD.split("(?<=\\d)(?=\\D)|(?<=\\D)(?=\\d)");
System.out.println(parts[0]);
System.out.println(parts[1]);
StringToD=“RaT15544”;
String[]parts=StringToD.split((?)?
String str = "RaT15544";
for (String element : str.split("(?<=RaT)(?=\\d)"))
System.out.println(element);
String StringToD = "RaT15544";
String[] parts = StringToD.split("(?<=\\d)(?=\\D)|(?<=\\D)(?=\\d)");
System.out.println(parts[0]);
System.out.println(parts[1]);