【发布时间】:2014-10-30 22:38:05
【问题描述】:
第一次发帖。好看吗?
学习 Java。
我有一个字符串对象"1 Book on wombats at 12.99"
我想将此字符串拆分为 String[] 或 ArrayList<String> 在第一个空格和单词“ at ”周围拆分字符串,因此我的 String[] 有 3 个字符串 "1" "Book on wombats" @ 987654328@
我目前的解决方案是:
// private method call from my constructor method
ArrayList<String> fields = extractFields(item);
// private method
private ArrayList<String> extractFields (String item) {
ArrayList<String> parts = new ArrayList<String>();
String[] sliceQuanity = item.split(" ", 2);
parts.add(sliceQuanity[0]);
String[] slicePrice = sliceQuanity[1].split(" at ");
parts.add(slicePrice[0]);
parts.add(slicePrice[1]);
return parts;
}
所以这很好用,但肯定有更优雅的方法吗?也许使用正则表达式,这是我仍在努力掌握的东西。
谢谢!
【问题讨论】:
-
这个问题似乎是题外话,因为它是关于审查你的代码。尝试在这里询问,codereview.stackexchange.com。
-
单个示例信息不足以编写模式。当您只提供一个示例时,没有合理的方法可以编写适用于实际数据的正则表达式。