java - 打印分割字符串

标签 java string split

我正在尝试按以下格式打印我的字符串。 ua、登录、登录 ---> ua、导航、故障平均 = 500 毫秒。我将这 2 个字符串存储到一个名为 keyString 的字符串中,并将其放入由 "|" 分隔的 HashMap 中。然后,当我迭代 key 集以使其采用我最初规定的格式时,我将其拆分,但它显示为 ---> ua, ctiq, export|ua, ctiq export, transfer Average = 600 毫秒。有什么想法吗?

  public static void ProcessLines(Map<String, NumberHolder> uaCount,String firstLine, String secondLine) throws ParseException
   {
    String [] arr1 = firstLine.split("-- ", 2);
    String [] arr2 = secondLine.split("-- ", 2);
    String str1 = arr1[1];
    String str2 = arr2[1];


    ......
    String keyString = str1 + "|" + str2;               
    NumberHolder hashValue = uaCount.get(keyString);
     if(hashValue == null)
     {
        hashValue = new NumberHolder();
        uaCount.put(keyString, hashValue);                      
     }
     hashValue.sumtime_in_milliseconds += diffMilliSeconds;
     hashValue.occurences++;

     public static class NumberHolder
     {
      public int occurences;
      public int sumtime_in_milliseconds;       
     }

这是打印部分

 for(String str : uaCount.keySet())
    {
        String [] arr = str.split("|",2);

        long average = uaCount.get(str).sumtime_in_milliseconds / uaCount.get(str).occurences;

        //System.out.println(str);

        System.out.println(arr[0] + " ---> " + arr[1] + " Average = " + average + " milliseconds");
    }

最佳答案

split 使用正则表达式来匹配要分割的位置,在“RegEx”中 | 表示 OR。要使用 | 作为文字,您需要使用 \ 对其进行转义,在字符串中写为 "\\"。或者,您可以使用[|]。尝试一下

str.split("\\|",2);

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

相关文章:

Java Split 没有按预期工作

python - PyBytes_Type 和 PyString_Type 有什么区别

java - 为什么 child 会被夹在定制的 toast 里?

java - JOOQ:如何将外键解析为对象?

java - 如何查找索引elasticsearch java中类型中所有记录的计数

c - 如何连接 char* 字符串?

c# - 用随机值替换字符串的最佳方法精确长度 c#

python - 读取文件并将其拆分为字典

jquery - 如何将嵌套导航拆分为高度几乎相等的列

java - 如何在Java中将按钮缓慢地从一个位置移动到另一个位置?