Java 获取字符串中以逗号分隔的RHS值的任何最短方法

Java 获取字符串中以逗号分隔的RHS值的任何最短方法,java,string,parsing,Java,String,Parsing,这是我的绳子 String str = "fus=""192.10.136.111"""," ful=""333333"""," fui=""7b7b7b40000000010000012e55192ab8""", fuc=1, fuq=3, fut=2015-03-30 16:21:36, fud=1, fss=3, fst=2," fsi=""302""", fso=0, fsa=0, fsr=2, cuc=1". 我只需要不带逗号分隔的双引号的RHS值。比如说 192.10.136.11

这是我的绳子

String str = "fus=""192.10.136.111"""," ful=""333333"""," fui=""7b7b7b40000000010000012e55192ab8""", fuc=1, fuq=3, fut=2015-03-30 16:21:36, fud=1, fss=3, fst=2," fsi=""302""", fso=0, fsa=0, fsr=2, cuc=1".
我只需要不带逗号分隔的双引号的RHS值。比如说

192.10.136.111,333333,7b7b7b40000000010000012e55192ab8,1,3,2015-03-30 16:21:36,1,3,2,302,0,0,2,1

如果您有如下字符串(基本上是键值对的CSV),则逻辑应该是通用的

您可以使用下面的代码

List<String> values = new ArrayList<>();
String [] keyValuePairs = str.split(",");
for(String keyValuePair : keyValuePairs) {
    String [] keyValue = keyValuePair.split("=");
    values.add(keyValue[1]);
}
List values=new ArrayList();
字符串[]keyValuePairs=str.split(“,”);
for(字符串keyValuePair:keyValuePairs){
字符串[]keyValue=keyValuePair.split(“”);
添加(键值[1]);
}

鉴于这只是你的第二个问题,你需要养成提供信息的习惯。您发布了您的问题,但没有发布尝试,甚至没有发布尝试的解释

话虽如此,在转义字符串中的所有引用之后,您可以尝试简单的字符串操作

public static void main(String[] args) throws Exception {
    String str = "fus=\"\"192.10.136.111\"\"\",\" ful=\"\"333333\"\"\",\" fui=\"\"7b7b7b40000000010000012e55192ab8\"\"\", fuc=1, fuq=3, fut=2015-03-30 16:21:36, fud=1, fss=3, fst=2,\" fsi=\"\"302\"\"\", fso=0, fsa=0, fsr=2, cuc=1";
    String[] pieces = str.split(",");
    for (int i = 0; i < pieces.length; i++) {
        pieces[i] = pieces[i].substring(pieces[i].indexOf("=") + 1).replaceAll("\"", "");
    }
    System.out.println(String.join(",", pieces));
}
publicstaticvoidmain(字符串[]args)引发异常{
String str=“fus=\”\”\“192.10.136.111\”,“ful=”\“333333\”,“fui=”\“7B7B4000000010000012E55192AB8\”,“fuc=1,fuq=3,fut=2015-03-30 16:21:36,fud=1,fss=3,fst=2,\“fsi=”\“302\”,fso=0,fsa=0,fsr=2,cuc=1”;
String[]片段=str.split(“,”);
对于(int i=0;i
结果:


此代码无法编译。。请发布编译的代码您需要在字符串中转义引号才能编译。哦,没关系,我只是举了个例子。您的代码(尽管非常有限)不可编译。请对问题进行排序并编辑问题。虽然我们已经理解了这个问题,但我们无法提供帮助,因为您没有提供正确且可编译的代码。
public static void main(String[] args) throws Exception {
    String str = "fus=\"\"192.10.136.111\"\"\",\" ful=\"\"333333\"\"\",\" fui=\"\"7b7b7b40000000010000012e55192ab8\"\"\", fuc=1, fuq=3, fut=2015-03-30 16:21:36, fud=1, fss=3, fst=2,\" fsi=\"\"302\"\"\", fso=0, fsa=0, fsr=2, cuc=1";
    String[] pieces = str.split(",");
    for (int i = 0; i < pieces.length; i++) {
        pieces[i] = pieces[i].substring(pieces[i].indexOf("=") + 1).replaceAll("\"", "");
    }
    System.out.println(String.join(",", pieces));
}