gpt4 book ai didi

java - 如何从一行中过滤掉一些字符串?

转载 作者:行者123 更新时间:2023-12-01 13:19:24 24 4
gpt4 key购买 nike

我试图从输入字符串中仅获取clientiddstid。这是我尝试过的代码:

String input = "User clientId=287372.Dstid=129 Some more text clientId=336263. Dstid=2451. This clientNum=120";

Pattern p = Pattern.compile("(clientId=)(\\d+)(Dstid=)(\\d+)");
Matcher m = p.matcher(input);

StringBuffer result = new StringBuffer();

while (m.find()) {
System.out.print("clint id : " + m.group(1));
System.out.println("Dst id : " + m.group(2));
}

m.appendTail(result);
System.out.println(result);

但是我得到的输出是:

User clientId=287372.Dstid=129 here is some text clientId=336263. Dstid=2451. This clientNum=120

有什么解决办法吗?

最佳答案

请尝试以下正则表达式

(clientId=[0-9]+)[.\s]*(Dstid=[0-9]+)

使用时请确保转义\

Pattern p = Pattern.compile("(clientId=[0-9]+)[.\\s]*(Dstid=[0-9]+)");

关于java - 如何从一行中过滤掉一些字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22163499/

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