2012-02-03 154 views
-12

可能重複:
Cutting/splitting strings with Java分割字符串與Java

我有一個字符串如:

C:  16896208896 

我怎麼能得到以下的輸出:

16896208896 
+2

你試過了什麼?你看過String的javadocs嗎?是stackoverflow你嘗試的第一個地方? – 2012-02-03 11:50:22

+2

http://www.googleguide.com – Matten 2012-02-03 11:51:26

+9

'System.out.println(「16896208896」);' – 2012-02-03 11:53:07

回答

3

Java docs on String.split()

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

+1:我將使用Java 7 Javadoc和一個忽略空白而不是char'的字符串:\\ s +「' – 2012-02-03 11:54:50

+1

@ usoban,你應該真的養成連接最新的javadoc的習慣。 – mre 2012-02-03 12:17:55

+0

修復了鏈接。 – usoban 2012-02-03 18:30:21

0

substring(10)

提供更好更完整的答案,我們需要對字符串的可變性的更多細節。

+0

這種方法不可取,因爲字符串的「substring」與原始字符串具有相同的大小。檢查字符串字段'值'。檢查我的答案爲通用方法 – MozenRath 2012-02-03 12:51:16

+0

您的答案可能會使用較少的內存,但從處理時間角度來看,效率較低,而且不太直截了當。當然,如果數字的確切起始位置未知,則需要進行拆分。 – 2012-02-03 12:56:58

+0

是的,我明白了。這就是爲什麼我說這是一種通用的方法。使用子字符串在這裏是硬編碼 – MozenRath 2012-02-03 13:07:16

0

myStr.split(" ")[1]

其中myStr = "C: sdg55253522355345"

1

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

0

非常簡單的方法,假設總有十個字符數開始將之前

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

如果字符數量不同,則類似

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

會起作用。

+0

'System.out.println(theString.split(「」)[1]);'將返回一個空格。如果字符數量不同,我們不能使用像'System.out.println(theString.split(「:」)[1] .trim());'..? – Mudassir 2012-02-03 12:02:18

0

這被之前和任何字符串中的任何號碼後去掉任意非數字字符,前提是隻有字符串是一個數字

"C:  16896208896 ".replaceAll("^\\D*(\\d+)\\D*$", "$1"); 
0
Pattern pattern = Pattern.compile("\s*(\d+)"); 
Matcher matcher = pattern.matcher(myString); 
matcher.find(); 
String result = matcher.group(1); 

使用正則表達式來找到你想。如果您不知道號碼前有多少空格,這是解決問題的最佳方法。

1

試試這個。

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

其實它是'yourString.split(「\\ s +」)[1];'。 – Mudassir 2012-02-03 11:56:03

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

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

或使用正則表達式過濾掉正是你想要的。

0

最簡單的解決方案取決於你的字符串結構:它是否總是像你的例子?然後你可以從位置2開始,並修剪它(s.substring(2).trim())。

替代地,如果在前面的部分「:」「:」而變化,在分割字符串採用分體式(見http://www.java-examples.com/java-string-split-example)。

如果沒有固定的分隔符,事情會變得更加複雜。您可以使用例如正如在正則表達式之前建議的匹配數字部分一樣。