添加文件中缺少的双引号



我有一个文件,其中包含双引号只对字符串类型,但我需要添加缺少双引号到其他字段,并写入使用java的文件。

例如

123  ,6   ,"abc@yahoo.com"
                                            "

应转换为

"123  ","6   ","abc@yahoo.com"                                         "

不修剪任何值,只是在字段周围添加缺少的文本限定符。我已经尝试过基于分隔符进行分割,然后将引号括起来,但它不起作用。

如果你解决了这样的问题,请分享。

您需要使用string.replaceAll方法。

string.replaceAll("(^|,)(?!")([^,]+)", "$1"$2"");
演示

有一个解决方案没有这么复杂的正则表达式:你必须分割你的输入由,和包装得到的String s:

String[] splitted = input.split(",");
for (int i = 0; i < splitted.size(); ++i) {
    if (splitted[i].charAt(0) != '"') {
        splitted[i] = """ + splitted[i] + """;
    }
}
String output = String.join(",", Arrays.asList(splitted)); // or any other joining technic, this is from Java 8

您可以通过使用String类中的split()方法轻松做到这一点,只需在需要时添加引号即可。基本上,我会尝试这样做:

public static void main (String... args) {
    String st = "123  ,6   ,"abc@yahoo.com";
    String[] results = st.split(",");
    String result = "";
    for (String s : results) {
        if (!s.startsWith("""))
            s = """ + s + """;
        if (!s.endsWith("""))
            s+=""";
        s+=",";
        result += s;
    }
    System.out.println(st);
    System.out.println("-------------");
    System.out.println(result);
}

保留空格并添加一些缺失的引号。

我试过了,下面是工作…

public static void test()
{
    String str = "123  ,6   ,"abc@yahoo.com                                                 "";
    String result = "",temp="";
    StringTokenizer token = new StringTokenizer(str,",");
    while(token.hasMoreTokens())
    {
        temp = token.nextToken();
        if(!temp.startsWith("""))
            result += """+temp+""";
        else
            result += temp;
    }
    System.out.println(result);
}

请检查…

尝试使用简单的foreach和if循环来检查值是否有双引号,然后为值添加引号。

for(Object obj:YourContainer){    
   if(!value.contains(""")){
        String s = """ + value + """;
    }
}

如果你得到的字段像""Test""双双引号,尝试使用替换函数。

String s;
for(Object obj:YourContainer){    
   if(!value.contains(""")){
        s = """ + value + """;
    }
    s = s.replace("""",""");
}

相关内容

  • 没有找到相关文章

最新更新