【问题标题】:Using regex to split the words in String but not symbol使用正则表达式拆分字符串中的单词而不是符号
【发布时间】:2017-03-07 00:54:47
【问题描述】:

是否可以使用正则表达式按单词而不是符号/特殊字符进行拆分?

例如, 很好玩,content=[I love java, content=[Java eclipse 然后拆分为 content=[

所以结果会变成这样

很好玩

我喜欢java

Java 日食

我尝试过这样的事情,但它有错误说 HTTP 状态 500 - 索引附近的非法重复

String [] strArray = testcontent.split("content=[");
                    for (String str :strArray) {
                    System.out.println("TestSplit" + str);

【问题讨论】:

  • 你试过了吗?结果如何?
  • 错误,HTTP 状态 500 - 非法重复@AlexR
  • 您的问题是转义特殊字符,检查我的答案并告诉我是否有效(我在 Scala 中测试过)

标签: java regex eclipse


【解决方案1】:

Split 接受一个正则表达式,所以你可以使用任何你想要的表达式,只是要小心转义特殊字符。

split("content\\=\\[")  

 split(Pattern.quote("content=["))

【讨论】:

  • 或者如果你不想玩反斜杠,split(Pattern.quote("content=[")), according to this answer
  • 谢谢@KenY-N 我不知道!!
  • 谢谢,它成功了。抱歉,我该如何拆分 SolrDocument{content=[?是这样的吗? split(" SolrDocument\ \{\ \content\ \=\ [ ") @Carlos
  • 也非常感谢,再问一个问题。是否可以使用 getAttribute 将字符串转发到 JSP 并在 JSP 中打印出来? @KenY-N
  • @Havealotofquestion 我认为您应该阅读有关 regexp 的内容,当您想检查不同的模式时,您可以使用 |,例如 split("content|SolrDocument")。
猜你喜欢
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
  • 2017-02-23
相关资源
最近更新 更多