与正则表达式一起使用String#replaceAll():
<span.*?/span>
.replaceAll()将正则表达式作为第一个参数,而.replace()采用String(a CharSequenceatally)。
Java代码:
String s = "<span foreground=\"blue\" weight=\"bold\">accomplish</span> vt, vi, 완수하다, 성취하다, 달성하다, (학문과 기예를) 가르치다 <span foreground=\"blue\" weight=\"bold\">accomplish</span> a, prep, 완성한, 숙달한, 소양(교양)이 있는 ";
System.out.println(s.replaceAll("<span.*?/span>", ""));
输出:
vt, vi, 완수하다, 성취하다, 달성하다, (학문과 기예를) 가르치다 a, prep, 완성한, 숙달한, 소양(교양)이 있는
更新:
如果您需要取出更多,您可以使用|运算符将它们放入正则表达式中。例如:
<span.*?/span>|a,|vt,|vi,|prep,|whateverYouWantDontForgetToEscape
工作代码:
System.out.println(s.replaceAll("<span.*?/span>|a,|vt,|vi,|prep,", ""));
输出:
완수하다, 성취하다, 달성하다, (학문과 기예를) 가르치다 완성한, 숙달한, 소양(교양)이 있는
更新 2:
根据您刚刚发布的预期输出,您还希望删除重复的空格。为此,请使用此正则表达式:
(<span.*?/span>|a,|vt,|vi,|prep,)(\s(?<=\s))*
Java代码:
System.out.println(s.replaceAll("(<span.*?/span>|a,|vt,|vi,|prep,)(\\s(?<=\\s))*", ""));
输出:
완수하다, 성취하다, 달성하다, (학문과 기예를) 가르치다 완성한, 숙달한, 소양(교양)이 있는