我有一個String
將一個字符串分解成三個部分不具有分隔符(JAVA)
String test = "7462356098660AE";
我想把它分成:
test1 = "746";
test2 = "2356";
test3 = "0986";
test4 = "60AE";
字符串的長度test
會永遠都是一樣的。
我將如何做到這一點?
PS:我查了其他問題,但找不到合適的答案。
我有一個String
將一個字符串分解成三個部分不具有分隔符(JAVA)
String test = "7462356098660AE";
我想把它分成:
test1 = "746";
test2 = "2356";
test3 = "0986";
test4 = "60AE";
字符串的長度test
會永遠都是一樣的。
我將如何做到這一點?
PS:我查了其他問題,但找不到合適的答案。
如果字符串對於所有字段都是固定寬度,則可以使用String的substring/subSequence方法,或者可以創建正則表達式並獲取捕獲組的值。
不確定你的用例在這裏,但如果代碼的子串總是相同的長度,你可以使用substring()
method。你只需要給它所需的子串的開始和結束索引。
我不知道substring()方法。這幫助了我。非常感謝。 – Mike
爲了方便,你可以寫這種分離器類:
public class Splitter {
private final int[] borders;
private final String s;
public Splitter(String s, int... borders) {
this.s = s;
this.borders = borders;
}
public String seg(int seg) {
return s.substring(seg == 0? 0 : borders[seg-1], borders[seg]);
}
}
你會使用這樣的:
final Splitter splitter = new Splitter("7462356098660AE", 3, 7, 11, 15);
for (int i = 0; i < 4; i++) System.out.println(splitter.seg(i));
是字符串格式總是一樣的? –
你有沒有嘗試java.lang.String.substring()? –
你的規則分裂這個字符串是什麼?因爲我們可以使用不同的規則在許多部分分割一個字符串... – logoff