java - java中使用正则表达式分割字符串

标签 java regex

我有一个字符串“你叫什么名字?”在如下所示的变量中。

String str="What is your name ?";
String[] splitString =str.split("\\is+");

我想以这样的方式分割字符串,只需要 is? 之间的那些单词。 IE。使用正则表达式的您的名称

谁能告诉我一些解决方案。

最佳答案

你可以使用这样的东西:

String str="What is your name ?";
String[] splitString = str.replaceAll(".*? is (.*) \\?", "$1").split(" ");
// [your, name]

<强> IdeOne demo

更新:如果你想匹配不区分大小写,只需添加不敏感标志:

String str="What is your name ?";
String[] splitString = str.replaceAll("(?i).*? is (.*) \\?", "$1").split(" ");

关于java - java中使用正则表达式分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32972008/

相关文章:

Python 字符串正则表达式中的大小写标准

regex - 使用 RegexParsers 解析空格

python - 正则表达式和 grep 异常匹配

java - Hadoop WordCount 示例问题,我需要进行一些性能调整吗?

java - Android 上的 PhoneGap 3.1 闪屏(4.2、4.3): CordovaWebView: TIMEOUT ERROR

java - 如何从 JFrame 中删除 JScrollPane?

regex - 简单的正则表达式 : match everything until the last dot

javascript - jQuery 的 parseJSON 中的正则表达式测试返回 false - 为什么?

java - 使用 Javascript(或任何客户端)绘制方程式

java - 在 Undertow 中启用 HTTPS