gpt4 book ai didi

java - String#replaceAll() 替换 *除 =* 组之外的任何内容

转载 作者:行者123 更新时间:2023-11-29 05:05:36 25 4
gpt4 key购买 nike

我有一个这样的键值参数:

sign="aaaabbbb="

我想获取参数名sign和值"aaaabbb="(带引号)

我想我可以用 = 拆分字符串以获得数组的第一个元素,即参数名称,然后执行 String.replaceAll() 删除sign= 获取值。无论如何,这是我的示例代码:

public class TestStringReplace {
public static void main(String[] argvs){
String s = "sign=\"aaaabbbb=\"";
String[] ss = s.split("=");
String value = s.replaceAll("\\[^=]+=","");
//EDIT: s.replaceAll("[^=]+=","") will not do the job either.
System.out.println(ss[0]);
System.out.println(value);
}
}

但输出显示:

sign
sign="aaaabbbb="

为什么 \\[^=]+= 不匹配 sign= 并在此处用空字符串替换它?相当新的 Java 正则表达式,需要一些帮助。

提前致谢。

最佳答案

在 Java 中,您可以使用以下内容:

String str = "sign=\"aaaabbbb=\"";
String var1 = str.substring(0, str.indexOf('='));
String var2 = str.substring(str.indexOf('=')+1);
System.out.println("var1="+var1+", var2="+var2);

以上将有以下输出:

var1=sign, var2="aaaabbbb="

关于java - String#replaceAll() 替换 *除 =* 组之外的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30487169/

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