2009-11-25 45 views
-1

例如,我有一個字符串「1234」,我想分成兩個字符串「12」,「34」。有沒有辦法做到這一點?怎麼樣?我應該如何分隔一個字符串?

+7

約翰娜,我不是故意粗魯(真的!),但在過去一個月左右查看你的問題列表,我不完全確定你花費*任何時間看Javadocs甚至是基本的Java引用。我向你保證,到目前爲止,學習Java(或任何語言)**的最佳方式是閱讀文檔並通過實踐學習。 – delfuego 2009-11-25 17:55:42

+2

我完全同意。人們不斷花時間幫助,這也讓我感到驚訝。約翰娜接受了一個答案,在過去的14篇文章中沒有一次。所有的海報都會帶着想法去嘗試一下,如果不行的話,可以發佈另一個問題,要求某人調試代碼。當然,問題不在於約翰娜聰明到能讓所有人都做好工作。問題在於論壇中的人們保持勺子餵養的答案。 – camickr 2009-11-25 18:48:14

+2

這是對現實生活中的同事支持的良好培訓。 – 2009-11-25 19:05:25

回答

10

您可以使用substring功能:

"1234".substring(0, 2); 
"1234".substring(2, 4); 

它需要一個開始索引和結束索引,返回兩者之間的字符串。

+2

儘管跳到這樣的問題上真的很好,以便在這裏提升你的代表性,但你真的不應該爲那些甚至沒有試圖首先爲自己找到答案的人提供答案。其中一天,你和我可能不得不維護或支持他們製作的「代碼」。請參閱@delfuego和@ camickr對原始問題的評論。 – 2009-11-25 18:53:21

+0

@ken我以同樣的方式學習了一些東西,通過詢問和回答問題。當我問一些問題時,它會非常激怒我,我正在用一般的「自己去尋找」來回答 - 我通常會問兩種類型的問題:我真的很感興趣,但我不能即使經過廣泛的搜索後也能找到答案,即使您將電線連接到af * ck機器上,我也不會給予答案 - 但無論如何我必須這樣做,所以我尋求社區幫助。這就是爲什麼我理解這些問題並嘗試對這一點有所幫助。 – luvieere 2009-11-25 19:12:14

+1

Luvieere,我發現很難想象,在這裏發佈你的問題之前,你的流言和代表在這裏會忽視甚至打開該死的Javadocs * - 這是我們試圖做出的區分。看看Johanna的發佈歷史,並說服我/她確實在做任何**的努力,而不是單擊書籤到「發佈一個新問題」頁面,在框中輸入一個半易理解的字符串,並且點擊提交... – delfuego 2009-11-25 21:01:05

0

嘗試尋找的javadoc,子聽起來有用;-)

2

如果你想一般解決這個問題(假設你想劈成兩半的字符串) ,然後擴展luvieere建議...

String aString = "1234"; 
int length = aString.length(); 
System.out.println(aString.substring(0,length/2)); 
System.out.println(aString.substring(length/2,aString.size()); 

這樣的事情。 (當然,這並不處理一個奇數長度的字符串,但我會留給你)

0

每當你必須用字符串做某事,然後看看 靜態 方法聲明在String類上。

事實上,String.substring()不能在兩部分中'斷開'一個字符串,但它會返回原始字符串的一部分,並且可以用兩個子字符串操作組裝您的斷開要求,如luvieere在另一個答案中解釋的。

通常你使用String.split()來分割一個字符串,但是對於你的問題有一個更簡單的解決方案。

+0

「...查看靜態方法...」substring()和split()不是靜態的。 – 2009-11-25 17:53:31

+0

Oooops - 謝謝:-)) – 2009-11-25 18:00:22

0

使用字符串分割方法

例如

String s = "1234"; 
    s.Split(".{2}.{2}" = {"12", 23"} // a String array 
+0

- 編譯錯誤:方法分割必須以小寫字母開頭,... - 邏輯錯誤:結果爲空字符串,正則表達式爲「。{2}。{2}」爲分隔符,而不是正在搜索的內容。 – 2009-11-25 19:13:54

0

你也可以你字符串標記。如果有一個字符需要分割字符串。

例如「堆棧溢出」,可以使用空格(「」)分成兩個令牌「堆棧」和「溢出」。

JavaDoc

Examples

1

如果您的問題居然是:「我應該用什麼分隔字符串中的劃定各個值」,得到的回答是它並不重要,只要它不會是呈現在您的正常輸入數據中。例如,在大多數情況下,您可以使用「^ | *」作爲分隔符,因爲它在正常輸入數據中不太可能一致。

如果你的問題是「我怎麼拆由已知的分隔符分隔的字符串」,您可以使用StringTokenizerString.split()用正則表達式,或者String.indexOf()String.substring()結合。