1,字符串条件操作 1.1比较字符串内容是否相等
-
-
System.out.println(str.equals(
"hello"));
输出:true1.2比较字符串内容是否相等(忽略大小写)
-
-
System.out.println(str.equals(
"Hello"));
-
System.out.println(str.equalsIgnoreCase(
"Hello"));
输出: falsetrue 1.3判断字符串是否等于给定的正则表达式
-
-
System.out.println(str.matches(
"\\w+"));
输出为:true此处应该注意,matches(String regex),参数必须是正则表达式
1.4判断字符串是否以指定的前缀开始,或者以后缀结束
指定后缀结束:
-
-
System.out.println(str.endsWith(
"o"));
-
System.out.println(str.endsWith(
"lo"));
-
System.out.println(str.endsWith(
"llo"));
-
System.out.println(str.endsWith(
"lla"));
结果为: true true true false 指定前缀开始:
扫描二维码关注公众号,回复:
3418885 查看本文章
-
-
System.out.println(str.startsWith(
"h"));
-
System.out.println(str.startsWith(
"he"));
-
System.out.println(str.startsWith(
"hel"));
-
System.out.println(str.startsWith(
"hol"));
结果为:
true true true false 在指定索引处是否以指定前缀开始
-
-
System.out.println(str.startsWith(
"l",
0));
-
System.out.println(str.startsWith(
"l",
1));
-
System.out.println(str.startsWith(
"l",
2));
-
System.out.println(str.startsWith(
"llo",
2));
-
System.out.println(str.startsWith(
"llo",
3));
结果为:false false true true false 1.5判断字符串长度,以及字符串是否为空
-
-
-
System.out.println(str1.length());
-
System.out.println(str2.length());
-
System.out.println(str1.isEmpty());
-
System.out.println(str2.isEmpty());
结果为:5 0 false true 需要注意的是,""和null代表的含义是完全不一样的. String str=""在内存中是这样的:
String str=null在内存中是这样的
由于null根本没有对应的堆内存空间,所以如果调用lenth()和isEmpty()方法,会出现空指针错误: Exception in thread "main" java.lang.NullPointerException
2,字符串切割(字符串数组),字符数组2.1字符串切割成字符串数组形式
-
-
public static void main(String []args){
-
String str=
"hello everyone my name is simon";
-
String a[]=str.split(
" ");
-
for(
int i=
0;i<a.length;i++)
-
System.out.println(a[i]);
-
-
结果为:hello everyone my name is simon 需要注意的是,split(String regex)参数必须是正则表达式! 2.2字符串拆分成字符数组形式
-
String str=
"hello everyone my name is simon";
-
char a[]=str.toCharArray();
-
for(
int i=
0;i<a.length;i++)
-
System.out.println(a[i]);
输出为: h e l l o e v e r y o n e m y n a m e i s s i m o n
一丶String类
String 类本身由于其命名规范的要求肯定是一个类,但是却发现,此类在使用上较为特殊,而且发现在 String 类的操作中依然可以使用“+”或“+=”进行字符串的连接,还可以发现,各个数据类型的数据只要是碰到了 String 类的内容,则都统一向 String 进行转换,所以 String 类的使用及特点就非常的重要。
1,String的比较,涉及的常用函数为
equals(),equalsIgnoreCase()-------->比较String内容
compareTo(),compareToIgnoreCase()---------->比较String大小
regionMatches()-------->匹配子串
-
public
class StringTest {
-
public static void main(String[] args) {
-
-
-
-
-
System.out.println(a.equals(b));
-
System.out.println(a.equalsIgnoreCase(b));
-
-
System.out.println(a.compareTo(b));
-
System.out.println(a.compareToIgnoreCase(b));
-
-
-
-
-
-
-
-
-
System.out.println(c.regionMatches(
0, a,
0,
3));
-
System.out.println(c.regionMatches(
false,
0, a,
0,
3));
-
System.out.println(c.regionMatches(
true,
0,a,
0,
3));
-
-
-
对应的输出应该是:
false
true
-32
0
false
false
true
2,String的截取,常用函数为
public String subString(int begin)---->返回一个新的字符串从begin开始 public String subString(int begin,int end)---->返回的字符串是从begin开始长度为end-begin的串
注意:比如有一个字符串abcdef,那么a位置是0,b位置是1,依次类推,f是5,该字符串长度为6.
-
public
class StringTest {
-
public static void main(String[] args) {
-
-
-
-
System.out.println(a.substring(
0));
-
System.out.println(a.substring(
1));
-
System.out.println(a.substring(
2));
-
System.out.println(c.substring(
0,
4));
-
System.out.println(c.substring(
1,
4));
-
-
split()函数是一个常用函数,去掉特定字符串,其余字符串作为数组返回.
-
public
class StringTest {
-
public static void main(String[] args) {
-
String c =
"abkefksdfksfwekwww";
-
-
String []s1 = c.split(
"k");
-
for(
int i=
0;i<s1.length;i++)
-
System.out.println(s1[i]);
-
-
-
结果为:
ab ef sdf sfwe www
|