String oneTextValue = "1223)234";
String[] chunks = oneTextValue.split("\\)");

String oneTextValue2 = "1223)234)";
String[] chunks2 = oneTextValue2.split("\\)");

String oneTextValue3 = "1223234";
String[] chunks3 = oneTextValue3.split("\\)");

String oneTextValue4 = ")1223234";
String[] chunks4 = oneTextValue4.split("\\)");

结果

java split()

现象

结尾空字符串被丢弃的问题

第2个例子中结果并不是 {"1223", "234", ""}, 而是 {"1223", "234"}

避免结尾空字符串丢弃

String oneTextValue2 = "1223)234)";
String[] chunks2 = oneTextValue2.split("\\)", -1);

结果

java split()

转移字符

1. 如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");

如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|"); “.”和“|”都是转义字符,必须得加"\\";

多个分隔符

2. 如果在一个字符串中有多个分隔符,可以用“|”作为连字符

String oneTextValue = "12(23)234";
String[] chunks = oneTextValue.split("\\(|\\)");

结果

{"12", "23", "234"}

函数重载

public String [] split (String regex, int limit)

limit 限制了分割后的数组的长度,例

"1223)234)".split("3") 
结果:{"122", ")2", "4)"}

"1223)234)".split("3", 0) 
结果:{"122", ")2", "4)"}

"1223)234)".split("3", 1) 
结果:{"1223)234)"}

"1223)234)".split("3", 2) 
结果:{"122", ")234)"}

"1223)234)".split("3", 3) 
结果:{"122", ")2", "4)"}

"1223)234)".split("3", 4) 
结果:{"122", ")2", "4)"}

 

相关文章:

  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-22
  • 2021-09-18
  • 2021-11-15
猜你喜欢
  • 2022-01-10
  • 2022-12-23
  • 2021-11-22
  • 2022-02-09
  • 2022-01-08
  • 2021-08-16
  • 2021-10-01
相关资源
相似解决方案