我有一个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