String ="(Buy) 655500 - (Sell) 656500";
我想忽略(Buy)
,-
,(Sell)
来拆分此字符串。
我想要的最终结果就像这个655500 656500
。
上面是示例..实际上我的字符串包含UTF-8字符..但我把它留在这里
答案 0 :(得分:4)
正则表达式
String src = "(Buy) 655500 - (Sell) 656500";
String reg = "[0-9]+";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(src);
while(matcher.find()) {
System.out.println(matcher.group());
}
答案 1 :(得分:1)
String string = "(Buy) 655500 - (Sell) 656500";
String needed = string.replaceAll("[\"(Buy)(Sell)-]", "");
这应该可行...需要的是能够为您提供所需结果的字符串。
答案 2 :(得分:0)
您最好的方法是为序列定义正则表达式模式匹配,并从中提取值。
答案 3 :(得分:0)
如果您的语法总是如此,您可以像这样分开:
String string = "(Buy) 655500 - (Sell) 656500";
String replaced= string.replaceAll("[(Buy)(Sell)]", "");
String[] values = replaced.split("-");
这里: 值[0]将为655500 和值[1]将是656500
如果您的要求不同,请发表评论。
答案 4 :(得分:0)
String baseStr = "(Buy) 655500 - (Sell) 656500";
String buy = baseStr.split("-")[0].replaceAll("\\D+", "");
String sell = baseStr.split("-")[1].replaceAll("\\D+", "");
System.out.println("Base String: " + baseStr);
System.out.println("Buy String : " + buy);
System.out.println("Sell String: " + sell);
这是输出:
Base String: (Buy) 655500 - (Sell) 656500
Buy String : 655500
Sell String: 656500
答案 5 :(得分:0)
试试这个:
String text = "(Buy) 655500 - (Sell) 656500";
List<String> parts = new LinkedList<String>(Arrays.asList(text.split("\\D")));
parts.removeAll(Arrays.asList(""));
System.out.println(parts);
您将获得字符串中的数字列表。