首页 > 解决方案 > 如何拆分java字符串以在分隔符“,”上获得5个子字符串

问题描述

我有一个 java 字符串作为来自服务器的响应,["This is my "json response", "jshj" "," "sdjfh,sfjg" ",""Abs, "jshj" ",""Abs, "jshj" ",""Abs, "jshj"",""Abs, "jshj" "]. 我想在分隔符 "," 上将字符串拆分为 5 个子字符串,以便我可以将结果存储到数组中。

预期输出为:

这是我的“json 响应”,“jshj”“sdjfh,sfjg”“Abs,“jshj”“Abs,“jshj”“Abs,“jshj”“Abs,“jshj”

以下是我的方法:

String arrayGenerated[] =result.replaceAll("[\\[\\]\"]", "").split(__________,5);
        return arrayGenerated;

请建议我应该在拆分部分提到什么。

标签: javastringsplit

解决方案


import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test1222 {
    public static void main(String[]args)
    {
        String fileName = "C:\\\filepath";
        List<String> list = null;
        try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
            list = stream.collect(Collectors.toList()); 
        } catch (IOException e) {
            e.printStackTrace();
        }
        String str = list.get(0);
        String str1 = str.replaceAll("\\[", "").replaceAll("\\]","");

        String[] strArr = str1.split(",");
        List<String> resultArr = Arrays.asList(strArr);
        List<String> result = resultArr.stream().collect(Collectors.toList());

        result.forEach(System.out::println);

    }

}

推荐阅读