我正在尝试使用 RegEx 来阅读圣经评论中的一些文本,其中一些文本在括号内有很多引文和引用(例如,这些评论之一支持他所说的几乎所有内容,括号内有圣经段落,这在神学上很好,但不是为了阅读和享受晨间散步)。因此,当我听很多课文时,我想忽略它们(括号内的任何内容)(如果需要,我稍后会关注它们)。
这是我正在制作的文本示例,用于说明:
The Bible teaches clearly that God loves the whole world (See: John 3:16 and OtherBibleBook 1:3-7,9), not just Israel.
我只想在播放应用程序时听到以下短语:
The Bible teaches clearly that God loves the whole world, not just Israel.
我需要输入的“模式”是什么? (所有那些对程序员有意义但对我来说毫无意义的奇怪字符)。我正在使用一个名为@Voice Aloud 的 Android 应用程序。
最佳答案
如果您可以更改文本、代码或输入正则表达式,那么您所要求的是完全可行的!
更改文本或代码
你需要使用这样的东西:
String s = "The Bible teaches clearly that God loves the whole world (See: John 3:16 and OtherBibleBook 1:3-7,9), not just Israel."
string.replaceAll("\\(.*?\\)", "");
//ouput : The Bible teaches clearly that God loves the whole world , not just Israel.
输入正则表达式
这里的正则表达式是\(.*?\)
。你可以查看here它匹配括号中的所有内容。然后您可以使用替换模式将其删除。根据应用程序使用的正则表达式的风格,您可能必须使用特定的东西 - 因为 Android 使用 Java,它只会要求您提供替换字符串:“”。
如果你想删除括号前的空格,你可以改用这个正则表达式:
\s{0,1}\(.*?\)
或者在 Java 代码中:
string.replaceAll("\\s{0,1}\\(.*?\\)","");
关于java - RegEx忽略或跳过括号内的所有文本和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837923/