2015-09-22 74 views
1

我有一個像這樣的「AddUser_test_NewUserForm_singinprocess」字符串。忽略java string tokenizer中的最後一個分隔符

使用Java字符串標記,我想這樣的輸出:

增加會員

測試

NewUserForm_singinprocess

的delemeter是 「_」,我的主要目標是忽略「NewUserForm_singinprocess」中的最後一個「_」作爲分隔符。

我該怎麼做?

+0

你可以使用正則表達式和'串#分裂()'? – TheLostMind

+0

如果你不把任何代碼,我們將無法重現你的問題.... –

回答

0
String strWithDelimeter = "Hello_Hi_Good_Morning"; 

    StringTokenizer strToken = new StringTokenizer(strWithDelimeter, "_"); 
    int noOfToken = strToken.countTokens(); 
    int count =1; 
    String currentElement = null, lastElement = null,lastElement2 = null; 
    while(strToken.hasMoreTokens()) { 
     currentElement = strToken.nextToken().toString(); 
     if(count == noOfToken) 
      lastElement = currentElement; 
     else if(count == noOfToken-1) 
      lastElement2 = currentElement; 
     else 
      System.out.println(currentElement); 
     count++; 
    } 
    System.out.println(lastElement2+"_"+lastElement); 
1

您可以使用String#split()輕鬆實現這一點:

public static void main(String args[]) throws Exception { 
    String s = "AddUser_test_NewUserForm_singinprocess"; 
    System.out.println(Arrays.toString(s.split("_(?=.*_)"))); 
} 

O/P:

[AddUser, test, NewUserForm_singinprocess] 
+0

謝謝@TheLostMind – noor

+0

這是可能做到這一點使用字符串標記? – noor

相關問題