我试图通过API清理从维基百科中提取的文本。我想删除单词' Template:sfn'但是我在使用正则表达式时遇到了麻烦:
文字如下: ......一所私立寄宿学校,在他的父母发现他未经许可经常前往曼哈顿之后。模板:sfn
在https://regex101.com的帮助下,我发现我的正则表达式需要:\Template:.*\s
如果我将其复制并粘贴到Android studio:
plainStr = plainStr.replaceAll("\\Template:.*\\s", "");
它告诉我两个反斜杠不正确(非法/不支持的转义序列)
如何重写我的表达式以便AS接受它?
最重要的是,我想删除冒号后的所有单词。维基百科有时会有模板:Nowrap,模板:主要等等。这是我的输出'如果我使用Bliki库(ConvertWikiToHtml)我想删除所有组合。为了使它更复杂,它也可以是多个单词,如:模板:死链接或模板:引用新闻稿,但我不认为这可以用正则表达式来处理。
亲切的问候,
麦克
答案 0 :(得分:1)
你错了;在T完成任何事之前反斜杠。
删除它:
plainStr = plainStr.replaceAll("Template:.*\\s", "");
答案 1 :(得分:1)
就我而言,这是Android Studio问题。至少我无法解释它,因为下面的代码已编译并在Eclipse中运行良好:
Pattern p = Pattern.compile(".*\\R|.+\\z");
然而,在我复制并粘贴到Android Studio \\R
之后,下划线时出现错误消息"非法/不支持的转义序列"。但是代码编译和执行没有任何问题。