java - 在字符串中查找被 "["和 "]"包围的单词 :

标签 java android string split

我需要帮助来完成一个简单的 java 任务。我有以下句子:

Where Are You [Employee Name]? your have a [Shift] shift..

我需要提取被 [] 符号包围的字符串。

我正在考虑使用带有 "" 参数的 split 方法,然后找到单个单词,但是如果我正在寻找的短语,我在使用它时遇到了问题对于包含:""。使用 indexOf 也可能是一个选项,只是我不知道我已经到达 String 末尾的指示是什么。

执行此任务的最佳方法是什么? 任何帮助将不胜感激。

最佳答案

尝试使用正则表达式 \[(.*?)\] 来匹配单词。

\[:转义 [ 用于文字匹配,因为它是元字符。

(.*?) :以非贪婪的方式匹配所有内容。

示例代码:

Pattern p = Pattern.compile("\\[(.*?)\\]");
Matcher m = p.matcher("Where Are You [Employee Name]? your have a [Shift] shift.");
while(m.find()) {
    System.out.println(m.group());
}

关于java - 在字符串中查找被 "["和 "]"包围的单词 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383898/

相关文章:

java - 用于带删除的 SFTP 出站的 Spring Integration DSL

java - LibGDX UI 设置桌面项目错误

android - 如何知道api版本和android源码

java - 如何将 String[][] 获取到 Arraylist<String[][]>

c - fgets()在函数中不起作用

java - GCJ 目前(2009 年年中)的现状如何?

java - 如何实用地删除 android 中的 chrome 缓存

android - addToBackStack() 不工作

android - SQLITE建表错误

python - 我有一个 SAP 生成的文件,其中包含许多列和一些不需要的行。我应该如何直接读入 Pandas?