java - 分割字符串java返回值

标签 java arrays string split


我正在寻找一种方法来实现以下问题。

从字符串 a 开始,我尝试返回 String[] 等于

new String[]{Q},{ec.Qh},{ec.Q2}

大家有什么建议吗?

到目前为止:

    String a="Q={{ec.Qh}{ec.Q2}}";

    int index_first = a.indexOf("="); 
    String name= a.substring(0,index_first); 
    String temp=a.substring(index_first+1, a.length());
    temp=temp.replaceAll("\\{\\{","");
    temp=temp.replaceAll("\\}\\{","\\,");
    temp=temp.replaceAll("\\}\\}","");
    String[] synonyms=temp.split(",");

    //for(int i =0;i<synonyms.length;i++){System.out.println(synonyms[i]);}

    String[] result=new String[]{name,synonyms} // does not work! 

最佳答案

您可以这样使用 StringTokenizer:

new StringTokenizer(string, "{}")

请注意,StringTokenizer 在指定字符( }{ )上进行分割,并且不会返回这些字符。您应该使用 nextToken() 迭代分词器结果并将结果添加到 List<String> .

它在这里很有用,因为它很简单,但是 documentation注意到StringTokenizer是一个遗留类,因此您应该谨慎使用。

关于java - 分割字符串java返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13228892/

相关文章:

java - 如何在 Controller 中使用 @RequestParam 获取 Map<String, String[]> 数据?

python - 将列表写入文件以供日后重用

java - 数组声明并将值分配给数组的各个槽

javascript - 如何在 Javascript 中对项目类别进行排序

javascript - 是否有更紧凑的方法来映射指定键的值,从结果数组中删除所有未定义的值并从中获取唯一值

linux - 在 linux 中查找字符串并替换另一行

c++ - 使用 cout 和字符串格式化列

java - 为什么计算函数在将 Integer 转换为 double 时不给出错误?

java - 如何从对象中提取 List 类型属性内的 json 数组

java - 如何在下载中获取每秒字节数?