我需要帮助来完成一个简单的 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/