2012-11-09 116 views
1

可以说我有一个字符串,其格式是“name_surname”。我的意思是有2个动态部分,并在它们之间有一个下划线。我想分开它们,并在变量左侧部分(名称)和另一个右侧(姓氏)。在java中的字符串操作,获取第一个字符

基本上我想这样的反向:String temp=name+"_"+surname;

回答

6

使用split();

String[] parts = temp.split("_"); 
String name = parts[0]; 
String surname = parts[1]; // <-- comment 

注释行会抛出一个ArrayIndexOutOfBoundsException如果名称不包含下划线。

1

您应该使用拆分。

String fullName = "name_surname"; 
String[] components = fullName.split("_"); 
String firstName = components[0]; 
String lastName = components[1]; 
+0

你的意思'的lastName =组件[1]'? – arshajii

0

只需使用的StringTokenizer

StringTokenizer st = new StringTokenizer(str, "_"); 
while (st.hasMoreElements()) { 
      System.out.println(st.nextElement()); 
     } 
+2

'StringTokenizer'现已被弃用。 – arshajii

+0

哦,我明白了。无论如何,这对于复杂的查找并不好 –