【问题标题】:Hi.. How to write java code to split the string? [duplicate]嗨..如何编写java代码来拆分字符串? [复制]
【发布时间】:2014-12-06 06:29:00
【问题描述】:
In my program a string is generated like this: Energie 670 kJ / 160 kcal 
So how to write split function in java code and the first keyword Energie should print
the outputs?

输入:

              Energie 670 kJ / 160 kcal

预期输出:

             1) Energie 670 kJ

             2) Energie 160 kcal

如果有人有解决此问题的方法或更好的方法来拆分 串两次?

提前致谢

【问题讨论】:

标签: java regex split


【解决方案1】:

使用String对象的split api试试这个:

String str = "Energie 670 kJ / 160 kcal";
String strs[] = str.split(" / ");//if you are expecting multiple space/tab etc use "\\s+/\\s+ instead of " / ""
for (int i=0; i<strs.length; i++) {
  System.out.println(strs[i]);
}

【讨论】:

    【解决方案2】:

    您可以使用适当的方法 string.split() 来拆分字符串。

    String string = "能量 670 kJ / 160 kcal";

    String[] 部分 = string.split("/");

    字符串 part1 = 部分[0].trim(); // 能量 670 kJ

    字符串 part2 = 部分[1].trim(); // 160 大卡

    【讨论】:

    • 在第 2 部分中,我应该得到这样的输出:Energie 160 kcal
    【解决方案3】:

    String 类中有对应的方法

    String[] split(String delimiter)
    

    这样使用

    String strs[] = str.split("/");
    for (int i=0; i<strs.length; i++) {
      System.out.println(strs[i].trim());
    }
    

    但正如其他人所提到的,请放心阅读 API,大多数时候您很可能会找到您要查找的内容。

    【讨论】:

      【解决方案4】:
      String s = "Energie 670 kJ / 160 kcal";
      // remove the leading "Energie"
      String stripped = s.replace("Energie", "").trim();
      String[] parts = stripped.split("/");
      // take what's left of the slash
      String s1 = "Energie ".concat(parts[0].trim());
      // take what's right of the slash
      String s2 = "Energie ".concat(parts[1].trim());
      // print both resultant strings
      System.out.println(s1);
      System.out.println(s2);
      

      【讨论】:

        【解决方案5】:
        public class StringSplit {
        public static void main(String args[]) throws Exception{
        String testString = "670 kJ / 160 kcal";
        
        System.out.println
           (java.util.Arrays.toString(testString.split("\\s+")));
        

        } }

           output : [670,kJ,/,160,kcal]
        

        从数组中获取所需的值。除了使用空格,您还可以使用 '\' 来分割字符串。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-18
          • 1970-01-01
          • 2011-03-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多