我有一个很长的字符串,比如说
I like this #computer and I want to buy it from #XXXMall.
我知道正则表达式模式是
Pattern tagMatcher = Pattern.compile("[#]+[A-Za-z0-9-_]+\\b");
现在我想获取数组中的所有主题标签。我如何使用这个表达式从字符串中获取所有哈希标签的数组,例如
ArrayList hashtags = getArray(pattern, str)
最佳答案
你可以这样写吗?
private static List<String> getArray(Pattern tagMatcher, String str) {
Matcher m = tagMatcher.matcher(str);
List<String> l = new ArrayList<String>();
while(m.find()) {
String s = m.group(); //will give you "#computer"
s = s.substring(1); // will give you just "computer"
l.add(s);
}
return l;
}
您还可以使用 \\w-
而不是 A-Za-z0-9-_
来制作正则表达式 [#]+[\\w ]+\\b
关于java - 获取与字符串中的模式匹配的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21180921/