我想检查我的String
是否包含任何字母(N S W E - 地图方向)。如果确实如此,我想设置direction = that letter
并返回true或false。
示例:
输入:
15.15.15 N
输出我想收到:
N
direction = matcher.group();
给我的输出:
15.15.15 N
正如预期的那样,它会打印与正则表达式匹配的字符串。我想只打印使其匹配的部分。字母可以在字符串的开头或末尾。知道怎么做吗?
public boolean example (String value) {
Pattern parrent = Pattern.compile(".*[a-zA-Z].*");
Matcher matcher = parrent.matcher(value);
if(matcher.find()) {
direction = matcher.group();
System.out.println("direction" + direction);
return false;
}
else
return true;
}
答案 0 :(得分:3)
你那里没有group!
请尝试此处:
Pattern pattern = Pattern.compile(".* (N|S|W|E)");
关键是:你基本上有
非空白
空格
您感兴趣的四个字母之一。
因此,你想要一个忽略你不关心的事情的简单模式;和想要回来的元素周围的群组。