RegEx忽略或跳过括号内的所有文本和数字

Car*_*apa 5 java regex text-to-speech

我试图用RegEx来阅读圣经评论中的一些文本,其中一些文章在括号内有很多引文和参考文献(例如,其中一条评论背后几乎所有他用括号内的圣经段落说的,这在神学上是好的,但对于阅读和享受一些早晨散步的目的不是).因此,当我正在听许多文本时,我想忽略它们(括号内的任何内容)(如果需要,我会在以后跟随它们).

这是我现在正在制作的文字示例:

圣经清楚地教导说,上帝爱整个世界(参见:约翰福音3:16和其他圣经书1:3-7,9),而不仅仅是以色列.

我想在播放应用时只听到以下短语:

圣经清楚地教导说,上帝爱整个世界,而不仅仅是以色列.

我需要进入的"模式"是什么?(所有这些奇怪的字符对程序员来说意味着什么,但对我来说没有任何意义).我正在使用名为@Voice Aloud的Android应用.

Doc*_*eur 2

如果您可以更改文本、代码或输入正则表达式,那么您所要求的就是完全可行的!

更改文本或代码

你需要使用这样的东西:

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.
Run Code Online (Sandbox Code Playgroud)

输入正则表达式

这里的正则表达式是\(.*?\). 您可以在此处检查它是否与括号中的所有内容匹配。然后您可以使用替换模式将其删除。根据应用程序使用的正则表达式的风格,您可能必须使用特定的东西 - 由于 Android 使用 Java,它只会要求您替换字符串:“”。

如果您想删除括号前的空格,您可以执行以下正则表达式:

\s{0,1}\(.*?\)
Run Code Online (Sandbox Code Playgroud)

或者在Java代码中:

string.replaceAll("\\s{0,1}\\(.*?\\)","");
Run Code Online (Sandbox Code Playgroud)