忽略 java stringtokenizer 中的最后一个定界符
Ignore the last delimeter in java string tokenizer
我有一个这样的字符串 "AddUser_test_NewUserForm_singinprocess"。
通过使用 java 字符串分词器,我想要这样的输出:
添加用户
测试
NewUserForm_singinprocess
分隔符是“_”,我的主要目标是忽略“NewUserForm_singinprocess”中的最后一个“_”作为分隔符。
我该怎么做?
您可以使用 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]
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);
我有一个这样的字符串 "AddUser_test_NewUserForm_singinprocess"。
通过使用 java 字符串分词器,我想要这样的输出:
添加用户
测试
NewUserForm_singinprocess
分隔符是“_”,我的主要目标是忽略“NewUserForm_singinprocess”中的最后一个“_”作为分隔符。
我该怎么做?
您可以使用 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]
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);