用Java拆分字符串

时间:2012-02-03 11:46:47

标签: java

  

可能重复:
  Cutting / splitting strings with Java

我有一个字符串,例如:

C:        16896208896  

如何获得以下输出:

16896208896 

10 个答案:

答案 0 :(得分:3)

Java docs on String.split()

String[] expl = rawString.split(":");
System.out.print(expl[1].trim());

答案 1 :(得分:3)

String str = "C:        16896208896"
str.split("        ")[1];

String str = "C:        16896208896"
str.substring(10);

或使用正则表达式过滤掉您想要的内容。

答案 2 :(得分:1)

str.split(":")[1].trim()

答案 3 :(得分:1)

试试这个。

yourString.split("\\s+")[1];

答案 4 :(得分:0)

substring(10)

为了提供更完整的答案,我们需要有关字符串可变性的更多详细信息。

答案 5 :(得分:0)

myStr.split(" ")[1]

其中myStr = "C: sdg55253522355345"

答案 6 :(得分:0)

最简单的方法,假设在数字开始之前总是有十个字符

System.out.println(theString.substring(10));

如果字符数有所不同,那么

System.out.println(theString.split(" ")[1]);

会起作用。

答案 7 :(得分:0)

如果字符串中只有一个数字

,则删除任意字符串中任意数字前后的任意非数字字符
"C:        16896208896  ".replaceAll("^\\D*(\\d+)\\D*$", "$1");

答案 8 :(得分:0)

Pattern pattern = Pattern.compile("\s*(\d+)");
Matcher matcher = pattern.matcher(myString);
matcher.find();
String result = matcher.group(1);

使用正则表达式查找所需内容。如果您不知道数字前面有多少个空格,这是解决问题的最佳方法。

答案 9 :(得分:0)

最简单的解决方案取决于您的字符串结构:它总是像您的示例中一样吗?然后你可以从位置2开始获取子串并修剪它(s.substring(2).trim())。

或者,如果“:”前面的部分发生变化,请使用拆分将字符串拆分为“:”(参见http://www.java-examples.com/java-string-split-example)。

如果没有固定的分隔符,事情就会越来越多。你可以用例如在正则表达式之前建议匹配数字部分。