gpt4 book ai didi

java - 如何获取两个字符之间出现的所有子串?

转载 作者:行者123 更新时间:2023-11-30 08:28:30 24 4
gpt4 key购买 nike

如果我想沿着一个字符串拉取两个字符(一般)之间的所有子字符串,我该怎么做?我还想保留我匹配的第一个字符,而不是第二个字符。

因此,例如,如果我想将字符保留在 # 字符和下一个空格或另一个字符的下一个字符之间(在本例中再次为 #,但可以是任何东西),我有一个字符串,说:"hello i'm #chilling#likeAVillain but like #forreal"

我怎么会得到,比如说一组 [#chilling, #likeAVillain, #forreal]

由于 either/or end substring 的情况,我遇到了困难 - 我希望子字符串以 # 开头并在另一个 # 或一个空格(或者字符串的结尾,如果两者都没有找到的话)

把最简单的sudocode:

for every String W between [char A, either (char B || char C)) // notice [A,B) - want the 
//first to be inclusive
Set.add(W);

最佳答案

这个正则表达式 #\\w+ 似乎可以满足您的需求。它将找到 # 及其后的所有字母数字字符。由于空格不是 \\w 的一部分,因此它不会包含在您的匹配中。

String s = "hello i'm #chilling#likeAVillain but like #forreal";
Pattern p = Pattern.compile("#\\w+");
Matcher m = p.matcher(s);
while (m.find())
System.out.println(m.group());

输出:

#chilling
#likeAVillain
#forreal

关于java - 如何获取两个字符之间出现的所有子串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20171366/

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