我正在尝试搜索此字符串“Spelled [wurd] Show IPA noun 1.a”
并使用以下方法删除[]之外的所有内容:
String pron = noHTML.replaceAll("\\[.*?]",""); //(there is a double \\ \\ here...)
这取代了里面的一切..如何扭转它? :S
我尝试过组合!和^但它似乎没有工作。
答案 0 :(得分:3)
我只需用括号中的部分替换整个字符串:
String pron = noHTML.replaceAll(".*?\\[(.*?)\\].*", "$1");
这(1)匹配整个字符串,(2)捕获括号中的部分并将其存储在第一个捕获组中,(3)使用该组作为整个匹配字符串的替换。
在结果中包含括号只是一个问题或向外移动()
:
String pron = noHTML.replaceAll(".*?(\\[.*?\\]).*", "$1");
答案 1 :(得分:0)
试试这个 -
String pron = noHTML.replaceAll("(^.*\\[)|(\\].*$)","");
要包含括号,请使用 lookahead 和 lookbehind -
String pron = noHTML.replaceAll("(^.*(?=\\[))|((?<=\\]).*$)","");
有关 lookahead 和 lookbehind 的更多信息,请参阅http://www.regular-expressions.info/lookaround.html
答案 2 :(得分:0)