我需要用空格分割我的字符串。 为此我试过:
str = "Hello I'm your String";
String[] splited = str.split(" ");
但这似乎并不奏效。
我需要用空格分割我的字符串。 为此我试过:
str = "Hello I'm your String";
String[] splited = str.split(" ");
但这似乎并不奏效。
当前回答
你所拥有的应该有用。但是,如果所提供的空格默认为…别的吗?你可以使用空白正则表达式:
str = "Hello I'm your String";
String[] splited = str.split("\\s+");
这将导致任意数量的连续空格将字符串分割为令牌。
其他回答
如果你不想使用String split方法,那么你可以使用Java中的StringTokenizer类作为..
StringTokenizer tokens = new StringTokenizer("Hello I'm your String", " ");
String[] splited = new String[tokens.countTokens()];
int index = 0;
while(tokens.hasMoreTokens()){
splited[index] = tokens.nextToken();
++index;
}
不仅是空白,我的解决方案也解决了看不见的字符。
str = "Hello I'm your String";
String[] splited = str.split("\p{Z}");
这里有一个方法来修剪有“,”或空白的字符串
private String shorterName(String s){
String[] sArr = s.split("\\,|\\s+");
String output = sArr[0];
return output;
}
char用单引号代替双引号
String[] split = str.split(' ');
将解决方案整合在一起!
public String getFirstNameFromFullName(String fullName){
int indexString = fullName.trim().lastIndexOf(' ');
return (indexString != -1) ? fullName.trim().split("\\s+")[0].toUpperCase() : fullName.toUpperCase();
}