gpt4 book ai didi

java - java中单词的简单正则表达式

转载 作者:行者123 更新时间:2023-12-01 20:18:00 25 4
gpt4 key购买 nike

我需要一个正则表达式来给我一个又一个单词。例如:

street address Maria and another st. lohberg and give me another av. darrwerg and another st example

期望的输出是:

maria,lohberg,darrwerd,example

也许有一个正则表达式可以解决这种情况:address: herman poortstrat this is text but not address给我:herman poortstrat但在我看来,事情比这更复杂。我有以下正则表达式:(?<=\bstreet\s)(\w+)但它只给我一个带有空格的街道后的地址。 我的正则表达式在“street”之后给我文本,因此它可能是解决方案之一,但我需要更多单词,例如: "av.","av","av ","address"和其他组合。一般来说,我只想从文本中获取街道名称,而不是其他任何内容。不是街道及其编号,只是街道。我还不擅长正则表达式,所以我请求你的帮助。

最佳答案

这将为您提供地址st.av.之后的单词您可以根据需要进行调整

public static void main(String[] args) {
String str = "street address Santa Maria and another st. lohberg and give me another av. darrwerg and another st street";
Pattern p = Pattern.compile("((address|st\\.|av\\.)\\s)(\\w+?\\s)");
Matcher m = p.matcher(str);
List<String> streets = new ArrayList<String>();
while (m.find()) {
streets.add(m.group(3));
}
System.out.println(streets);
}

关于java - java中单词的简单正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45422551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com