Using Split in Java and substring the result
Possible Duplicate:
string split in java
我有这个Key - Value,我想把它们分开,得到如下的回报:
那么最简单的方法是什么呢?
- 您尝试过string.split(…)吗?
- 我是一个PHP开发人员,所以它有点不同,但现在我知道我的错误了,它在split方法中使用了单引号。
- @萨拉亚:下一次,试着提一下你在这个问题中已经尝试过的东西,这样它对未来的游客更有价值。我甚至鼓励你重写这个问题,这样它就意味着要付出更多的努力。
1 2 3 4
| String[] tok ="Key - Value". split(" -", 2);
// TODO: check that tok.length==2 (if it isn't, the input string was malformed)
String a = tok [0];
String b = tok [1]; |
" -"是一个正则表达式;如果需要更灵活地定义有效分隔符的组成(例如,使空格可选,或允许多个连续空格),可以对其进行调整。
1 2 3
| int idx = str. indexOf(" -");
String a = str. substring(0, idx );
String b = str. substring(idx +3, str. length()); |
split()比indexOf()计算量大一点,但是如果你不需要每秒分裂数十亿次,你就不在乎了。
我喜欢在下面的雅加达公共语言库中使用stringutils.substringbefore和stringutils.substringafter。
作为一个较长的选择:
1 2 3 4 5 6 7
| String text ="Key - Value";
Pattern pairRegex = Pattern. compile("(.*) - (.*)");
Matcher matcher = pairRegex. matcher(text );
if (matcher. matches()) {
String a = matcher. group(1);
String b = matcher. group(2);
} |
类似的东西