如何在java中拆分字符串

Pra*_*til 5 java string

我有两种类型的字符串.一个是"abcdEfgh""abcd efgh".这意味着第一个String中间有大写字母,第二个字符串有空格.那么现在如何在java中检查这两个模式字符串并生成两个字符串.

String givenString;

if (givenString.equals("abcdEfgh")) {
   String str1 = abcd;
   String str2 = Efgh;
} else (givenString.equals("abcd efgh") {
   String str1 = abcd;
   String str2 = efgh;
}
Run Code Online (Sandbox Code Playgroud)

请提供解决方案谢谢

Ram*_*asi 5

您可以使用正则表达式进行拆分 \\s|(?=[A-Z])

  1. \\s 是处理空白的情况.
  2. (?=[A-Z])是积极向前看.它找到大写字母但在分割时保留分隔符.

.

String givenString;
String split[] = givenString.split("\\s|(?=[A-Z])");
String str1 = split[0];
String str2 = split[1];
Run Code Online (Sandbox Code Playgroud)

对于这两种情况

测试案例1

//case 1
givenString = "abcdEfgh";
str1 = abcd
str2 = Efgh
Run Code Online (Sandbox Code Playgroud)

测试案例2

//case 2
givenString = "abcd efgh";
str1 = abcd
str2 = efgh
Run Code Online (Sandbox Code Playgroud)