【问题标题】:Split-string java return value拆分字符串 java 返回值
【发布时间】:2012-11-05 09:05:12
【问题描述】:


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

从一个字符串开始我尝试返回一个字符串[]等于

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! 

【问题讨论】:

  • 你的问题不清楚..你到底想达到什么目的?

标签: java arrays string split


【解决方案1】:

您可以这样使用 StringTokenizer:

new StringTokenizer(string, "{}")

请注意,StringTokenizer 会根据指定字符(}{)进行拆分,并且不会返回这些字符。您应该使用nextToken() 遍历标记器结果并将结果添加到List&lt;String&gt;

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

【讨论】:

    【解决方案2】:

    你可以使用

    String s = "Q={{ec.Qh}{ec.Q2}}";
    String[] parts = s.split("(=\\{\\{|}\\{|}})");
    System.out.println(Arrays.toString(parts));
    

    打印

    [Q, ec.Qh, ec.Q2]
    

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 2015-09-12
      • 1970-01-01
      • 2013-09-01
      • 2019-06-13
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      相关资源
      最近更新 更多