我有两种类型的字符串。一种是"abcdEfgh"
和"abcd efgh"
。这意味着第一个字符串之间有大写字母,第二个字符串之间有空格。因此,现在我该如何在Java中检查这两个模式字符串并制作两个字符串。
String givenString;
if (givenString.equals("abcdEfgh")) {
String str1 = abcd;
String str2 = Efgh;
} else (givenString.equals("abcd efgh") {
String str1 = abcd;
String str2 = efgh;
}
请提供解决方案
谢谢
最佳答案
您可以使用正则表达式\\s|(?=[A-Z])
进行拆分
\\s
是处理空格的情况。 (?=[A-Z])
是积极的前瞻性。它找到大写字母,但在拆分时保留定界符。 。
String givenString;
String split[] = givenString.split("\\s|(?=[A-Z])");
String str1 = split[0];
String str2 = split[1];
对于两种情况
测试用例1
//case 1
givenString = "abcdEfgh";
str1 = abcd
str2 = Efgh
测试用例2
//case 2
givenString = "abcd efgh";
str1 = abcd
str2 = efgh
关于java - 如何在Java中拆分字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42575100/