note
note copied to clipboard
String的split方法,遇到的坑
public class StringSplitTest {
@Test
public void test() {
String s = "aba"; // 很明显,这是2
assertEquals(2, s.split("b").length);
s = "abab"; // 注意,这是2
assertEquals(2, s.split("b").length);
s = "abab "; // 这才是3
assertEquals(3, s.split("b").length);
s = ""; // 这是1
assertEquals(1, s.split("b").length);
s = "b"; // 此处重点注意,不是2而是0
assertEquals(0, s.split("b").length);
s = "a"; // 这是1
assertEquals(1, s.split("b").length);
s = "ba"; // 这是2
assertEquals(2, s.split("b").length);
}
}
由此看出,split前面的空白会保留,末尾的空白不会保留。split 本身结果是 0。