【问题标题】:Java - How to split a string on plus signs?Java - 如何在加号上拆分字符串?
【发布时间】:2013-11-28 23:04:34
【问题描述】:

我试图在加号上拆分算术表达式(例如“1+2+10+15”)。但是,我没有设法编写适当的正则表达式。我认为这会起作用:

expression.split("\\+");

但事实并非如此。你知道正确的解决方案吗?

【问题讨论】:

  • 完美运行。为什么你认为它没有?
  • 如果你想用非正则表达式模式分割,你可以使用 Pattern.quote("+") 生成一个正确转义的字符串。
  • 请注意,如果您想得到一个完整的表达式评估器,请放弃正则表达式并使用解析器。

标签: java regex string split


【解决方案1】:

确实如此。但是split(...) 返回一个数组,它不会将您的String“转换”为String[]。试试这个:

String expression = "1+2+10+1";
String[] tokens = expression.split("\\+");

【讨论】:

  • 谢谢!确实如此。不过这很有趣,因为我在一个空项目中再次尝试过它并且它有效。但是,它在我的其他项目中引发了异常。我会试着调查一下。
  • 如果还是不行,别忘了发布异常 :)
  • 很高兴听到它。我敢打赌,另一个项目会有所不同! :)
【解决方案2】:

这边

expression.split("[+]");

【讨论】:

  • 您能否详细说明该正则表达式“[+]”
  • @AnilReddyYarragonda [ ] 里面的东西是一个字符组。字符组接受大多数正则表达式特殊字符而不转义,因为它们已经是正则表达式构造。
猜你喜欢
  • 2013-02-20
  • 2021-09-02
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多