字符串的拆分
1、public String[] split(String regex) //将字符串全部拆分
2、public String[] split(String regex,int limit) //将字符串部分拆分,该数组长度就是limit极限
String str = "hello world hello china";
String[] ret = str.split(" "); //按照空格拆分
for (String s: ret) {
System.out.println(s);
}
String[] ret2 = str.split(" ",2);
for (String s: ret2) {
System.out.println(s);
}
//结果为
hello
world
hello
china
hello
world hello china
有些特殊字符作为分割符可能无法正确切分, 需要加上转义.
代码示例1: 拆分IP地址
String str = "192.168.1.1" ;
String[] result = str.split("\\.") ;
for(String s: result) {
System.out.println(s);
}
- 注意事项:
- 字符"|","*","+“都得加上转义字符,前面加上”".
- 而如果是"",那么就得写成"\".
- 如果一个字符串中有多个分隔符,可以用"|"作为连字符.
代码示例: 多次拆分
String str = "name=zhangsan&age=18" ;
String[] result = str.split("&") ;
for (int i = 0; i < result.length; i++) {
String[] temp = result[i].split("=") ;
System.out.println(temp[0]+" = "+temp[1]);
}
字符串的截取
1、public String subString(int beginIndex) //从指定位置开始截取
2、public String subString(int beginIndex,int endIndex) //从指定位置开始截取到指定位置
String str = "helloworld" ;
System.out.println(str.substring(5));
System.out.println(str.substring(0, 5));
- 注意事项:
- 索引从0开始
- 注意前闭后开区间的写法, substring(0, 5) 表示包含 0 号下标的字符, 不包含 5 号下标
去掉字符串的左右空格,保留中间空格
public String trim()
String b = " hello world ";
System.out.println(b.trim());
//结果为
hello world
字符串转大小写
public String toUpperCase() //字符串转大写
public String toLowerCase() //字符串转小写
注意:只对字母有效
字符串入池操作
public native String intern()
字符串连接
等同于“+”,不入池
public String concat(String str)
取得字符串的长度
public int length()
判断字符串是否为空
注意:不是null,而是长度为0
public boolean isEmpty()
例题:首字母大写
public static void main(String[] args) {
String str = "what why";
System.out.println(func(str));
}
public static String func(String str){
if (str == null || "".equals(str)){
return str;
}
if (str.length()>1){
return str.substring(0,1).toUpperCase()+str.substring(1);
}
return str.toUpperCase();
}