2015-09-22 69 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

相关问题