9

#我想在 a 中的字符之后立即提取任何单词String,并将它们存储在一个String[]数组中。

例如,如果这是我的String...

"Array is the most #important thing in any programming #language"

然后我想将以下单词提取到一个String[]数组中......

"important"
"language"

有人可以提供实现这一目标的建议。

4

3 回答 3

24

尝试这个 -

String str="#important thing in #any programming #7 #& ";
Pattern MY_PATTERN = Pattern.compile("#(\\S+)");
Matcher mat = MY_PATTERN.matcher(str);
List<String> strs=new ArrayList<String>();
while (mat.find()) {
  //System.out.println(mat.group(1));
  strs.add(mat.group(1));
}

输出 -

important
any
7
& 
于 2012-05-03T13:40:15.963 回答
13
String str = "Array is the most #important thing in any programming #language";
Pattern MY_PATTERN = Pattern.compile("#(\\w+)");
Matcher mat = MY_PATTERN.matcher(str);
while (mat.find()) {
        System.out.println(mat.group(1));
}

使用的正则表达式是:

#      - A literal #
(      - Start of capture group
  \\w+ - One or more word characters
)      - End of capture group
于 2012-05-03T13:39:07.713 回答
7

试试这个正则表达式

#\w+
于 2012-05-03T13:38:24.183 回答