này nên làm việc với Java 1.5 (Pattern.quote đã được giới thiệu trong Java 1.5).
// Split the string on delimiter, but don't delete the delimiter
private String[] splitStringOnDelimiter(String text, String delimiter, String safeSequence){
// A temporary delimiter must be added as Java split method deletes the delimiter
// for safeSequence use something that doesn't occur in your texts
text=text.replaceAll(Pattern.quote(delimiter), safeSequence+delimiter);
return text.split(Pattern.quote(safeSequence));
}
Nếu yếu tố đầu tiên là vấn đề:
private String[] splitStringOnDelimiter(String text, String delimiter, String safeSequence){
text=text.replaceAll(Pattern.quote(delimiter), safeSequence+delimiter);
String[] tempArray = text.split(Pattern.quote(safeSequence));
String[] returnArray = new String[tempArray.length-1];
System.arraycopy(tempArray, 1, returnArray, 0, returnArray.length);
return returnArray;
}
Ví dụ:, Ở đây "a" là delimiter:
splitStringOnDelimiter("-asd-asd-g----10-9asdas jadd", "a", "<>")
Bạn có được điều này:
1.: -
2.: asd-
3.: asd-g----10-9
4.: asd
5.: as j
6.: add
Nếu bạn thực sự muốn điều này:
1.: -a
2.: sd-a
3.: sd-g----10-9a
4.: sda
5.: s ja
6.: dd
Bạn chuyển:
safeSequence+delimiter
với
delimiter+safeSequence
Nguồn
2017-06-13 07:17:10
tôi chỉnh sửa tiêu đề của câu hỏi của bạn để nó trở nên chung chung hơn – Bozho