String类 常用方法:
1、int length(); 语法:字符串变量名.length(); 返回值为 int 类型。得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)
复制代码
String a="我的aidian \t\n";
int l = a.length();
System.out.println(l);
运行结果:11
2、char charAt(值); 语法 :字符串名.charAt(值); 返回值为 char 类型。从字符串中取出指定位置的字符
复制代码
String str="张三疯";
char c = str.charAt(2);
System.out.println("指定字符为:" + c);
运行结果:指定字符为:疯
3、char toCharArray(); 语法 :字符串名.toCharArray(); 返回值为 char 数组类型。将字符串变成一个字符数组
复制代码
1 String str="张三疯";
2 char c[] = str.toCharArray();
3 for (int i = 0; i < c.length; i++)
4 System.out.println("转为数组输出:" + c[i]);
运行结果:
转为数组输出:张
转为数组输出:三
转为数组输出:疯
4、int indexOf(“字符”) 语法 :字符串名.indexOf(“字符”);字符串名.indexOf(“字符”,值);查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1 。in lastIndexOf(“字符”) 得到指定内容最后一次出现的下标
复制代码
1 String str="只为挨你近一点";
2 int a1 = str.indexOf("你");// 查找字符你的位置
3 int a2 = str.indexOf("为", 2);// 查找为的位置,从第3个开始查找
4 int a3 = str.lastIndexOf("点");
5 System.out.println("你的位置为:" + a1);
6 System.out.println("为的位置为:" + a2);
7 System.out.println("点最后出现的位置为:" + a3);
运行结果:
你的位置为:3
为的位置为:-1
点最后出现的位置为:7
5、toUpperCase(); toLowerCase(); 字符串大小写的转换
复制代码
String str="hello world";
System.out.println("将字符串转大写为:" + str.toUpperCase());
System.out.println("将字符串转换成小写为:" + str.toUpperCase().toLowerCase());
运算结果:
将字符串转大写为:HELLO WORLD
将字符串转换成小写为:hello world
6、String[] split(“字符”) 根据给定的正则表达式的匹配来拆分此字符串。形成一个新的String数组。
复制代码
String str = "boo:and:foo";
String[] arr1 = str.split(":");
String[] arr2 = str.split("o");
运行结果:
arr1 //{ "boo", "and", "foo" }
arr2 //{ "b", "", ":and:f" }
7、boolean equals(Object anObject) 语法 :字符串变量名.wquals(字符串变量名); 返回值为布尔类型。所以这里用 if 演示。比较两个字符串是否相等,返回布尔值
复制代码
String str = "hello";
String str1="world";
if(str.equals(str1))
{
System.out.println("这俩字符串值相等");
}
else
{
System.out.println("这俩字符串值不相等");
}
运行结果:这俩字符串值不相等
8、trim(); 去掉字符串左右空格 replace(char oldChar,char newChar);新字符替换旧字符,也可以达到去空格的效果一种。
复制代码
第一种:
String str = " 我的博客 ";
System.out.println("去掉左右空格后:" + str.trim());
运行结果:去掉左右空格后:我的博客
第二种:
String str = " 我的博客 ";
System.out.println("去掉左右空格后:" + str.replace(" ",""));
运行结果:去掉左右空格后:我的博客
9、String substring(int beginIndex,int endIndex) 截取字符串
复制代码
String str = "123我的博客456";
System.out.println("截取后的字符为:" + str.substring(0,3));// 截取0-3个位置的内容 不含3
System.out.println("截取后字符为:" + str.substring(2));// 从第3个位置开始截取 含2
运行结果:
截取后的字符为:123
截取后字符为:3我的博客456
10、boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的值是否一模一样,返回一个布尔值
复制代码
String str = "HELLO WORLd";
String str1 = "hello world";
if(str.equalsIgnoreCase(str1))
{
System.out.println("两个字符串相等");
}
else
{
System.out.println("两个字符串不相等");
}
运行结果:两个字符串相等
11、boolean contains(String) 判断一个字符串里面是否包含指定的内容,返回一个布尔值
复制代码
String str = "HELLO WORLd";
String str1 = "WO";
if(str.contains(str1))
{
System.out.println("str内容中存在WO");
}
else
{
System.out.println("抱歉没找着");
}
运行结果:str内容中存在WO
12、boolean startsWith(String) 测试此字符串是否以指定的前缀开始。返回一个布尔值
复制代码
String str = "HELLO WORLd";
String str1 = "HE";
if(str.startsWith(str1))
{
System.out.println("str内容中存在HE前缀开头");
}
else
{
System.out.println("抱歉没找着");
}
运行结果:str内容中存在HE前缀开头
13、boolean endsWith(String) 测试此字符串是否以指定的后缀结束。返回一个布尔值
复制代码
String str = "我的博客";
String str1 = "博客";
if(str.endsWith(str1))
{
System.out.println("str内容中存在\'博客\'后缀结束");
}
else
{
System.out.println("抱歉没找着");
}
运行结果:str内容中存在'博客'后缀结束
14、上面提到了replace方法,接下继续补充一下 String replaceAll(String,String) 将某个内容全部替换成指定内容, String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容
复制代码
String str = ",,,,,,我的博客,,,,, ";
System.out.println("改变后:" + str.replaceAll(",","a"));
运行结果:改变后:a,,,,,我的博客,,,,,
String str = ",,,,,,我的博客,帅吗,帅吗,,,,, ";
System.out.println("改变后:" + str.replaceFirst("帅吗","很帅哦"));
运行结果:改变后:,,,,,,我的博客,很帅哦,帅吗,,,,,