此问题在此处已有答案:
Pattern to extract text between parenthesis(4个答案)
2天前关闭。
我正在尝试查找并替换几行日语文本之间的所有文本,类似于:
雨[あめ]も 降[ふ]るし 強[つよ]い 風[かぜ]が 吹[ふ]くし、ひどい 天気[てんき]ですね。
It rains and strong wind blows, the weather is rough.
今日[きょう] 降[ふ]らなさそうですね。
It seems like it will not rain today. (Probably said while looking at the sky.)
分[わ]からない 単語[たんご]がいっぱいなので、 難[むずか]しそうです。
It seems difficult because there are many words I do not know.
明日[あした] 新[あたら]しいレストランに 行[い]ってみますか?
Will you try and go to the new restaurant tomorrow?
去掉括号中的文字:
雨も 降るし 強い 風が 吹くし、ひどい 天気ですね。 It rains and strong wind blows, the weather is rough ...
通常我会将字符串方法中的replaceAll()
与replaceAll("\\[\\w*\\]", "")
一起使用,但在这里不起作用。另外,这里有汉字和平假名的组合,所以我真的不知道如何使用任何类型的系统,包括给定多个字符集的Unicode字符扩展。
根据这篇文章(https://stackoverflow.com/a/10810002/2058221),\\w
应该知道任何语言的文本字符,所以我不知道为什么它在这个应用程序中不起作用。
1条答案
按热度按时间dgtucam11#
您的尝试非常接近。使用
replaceAll("\\[[^\\]]+\\]", "")
。这将查找一个开始方括号,然后查找不是结束方括号的任何字符一次或多次,直到找到一个结束方括号。或者,如果您希望将方括号之间的内容限制为平假名、片假名和标点符号,则:
replaceAll("\\[[\u3000-\u30ff]+\\]", "")
.