2013-10-18 67 views
2

我試圖在不同的組中分割一個字符串,但是我沒有這個任務的經驗。 所以我需要一個正則表達式中的Java將原始字符串中的兩組字符串的正則表達式分離

我的文字的樣本是:

calcani kalkani

我想T:

  • 組1:鈣谷

  • 組2:K A升K A N I(或者,如果可能的話,kalkani)

如何創建這個圖案的任何想法?

謝謝!

+0

你的意思是說,你要拆分基於字符串中出現的空格的字符串 –

+0

不完全是,對於第一部分我需要在空間之前提取字符串,並與我的項目的不同部分進行比較,然後使用第二部分。 – user2893821

+0

如果多數民衆贊成的要求,那麼下面的答案應該足夠 –

回答

1
String x="calcani k a l k a n i"; 
    String []x1=x.split(" ",2); 
    System.out.println(x1[0]); 
    System.out.println(x1[1]); 

輸出

calcani 
k a l k a n i 

如果你想要像下面

calcani 
kalkani 

輸出然後使用

String x="calcani k a l k a n i"; 
     String []x1=x.split(" ",2); 
     System.out.println(x1[0]); 
     System.out.println(x1[1].toString().replace(" ", "")); 
1

爲什麼正則表達式。只是實現這個邏輯:

  1. 搜索第一空間,而且如果要刪除所有需要串上留下第一空間
  2. 上的第一空間權字符串的休息是你的第二場比賽的,在這一點上空間可以使用:

    String repl = str.replace(" ", ""); 
    
+0

我試圖實施一個正則表達式,因爲我有一個條目列表,我必須比較第一組,然後報告第二個。 在分組之後我的想法是使用替換來刪除空格。 – user2893821

+0

@ user2893821看到我的回答,我已經提供了 – SpringLearner

+0

@ user2893821兩種方式:除非需要,否則不應使用正則表達式。在這種情況下,您可以執行'int spacePost = string.indexOf('');'獲取第一個空格的位置,然後使用簡單的'string.substring'方法來獲取您的兩個子字符串。 – anubhava

0

你會得到兩個字符串如下:

String[] results = "calcani k a l k a n i".split(" ", 2); 
//remove spaces from second group 
String secondGroup=result[1]; 
secondGroup=secondGroup.replaceAll(" ",""); 
System.out.println("result[0] ->"+result[0]); 
System.out.println("result[1] ->"+result[1]); 

輸出

result[0] ->calcani 
result[1] ->kalkani 
0

試試這個,

String[] results = "calcani k a l k a n i".split(" ", 2); 
    System.out.println(results[0]); 
    System.out.println(results[1].replace(" ", ""));