Java之字符串处理(二)

本篇承接上文Java之字符串处理(一)

四、提取字符

1、charAt()

其作用为从字符串中提取单个字符,通过其可直接引用。其一般形式如下:

char charAt(int where)

其中,where的值必须是非负的,并且能够指定字符串中的一个位置。

char ch;
ch = "abc".charAt(1);
System.out.println(ch);
//输出为b

2、getChars()

其功能为一次提取多个字符。

getChars(srcBegin, srcEnd, dst, dstBegin)

srcBegin :开始索引的位置
srcEnd : 结束索引的位置
dst : 接收字符的数组
dstBegin : 接收字符的数组开始接收的位置
用一个程序实例来说明其功能

public class getCharsDemo {
	public static void main(String[] args) {
		String s = "this is a demo of getChars method.";
		int start = 10;
		int end = 14;
		char buf[] = new char[end-start];
		s.getChars(start, end, buf, 0);
		System.out.println(buf);
	}
}

3、getBytes()

将字符保存到字节数组中。

public class getBytesdemo {
	public static void main(String[] args) {
		String s = "this is a demo of getBytes method.";
		System.out.println(s);
		System.out.println(s.length());
		s.getBytes();
		System.out.println(s);
		System.out.println(s.length());
	}
}

4、toCharArray()

其功能为将String对象中的所有字符转换为字符数组

五、比较字符串

1、equals() 和 equalsIgnoreCase()

equals() 用于比较字符串是否相等,区分大小写
equalsIgnoreCase() 用于比较字符串是否相等,不区分大小写
实例演示:

public class equalsDemo {
	public static void main(String[] args) {
		String s1 = "hello";
		String s2 = "HELLO";
		String s3 = "你好,world";
		String s4 = "你好,WORLd";
		System.out.println(s1 + " equals " + s2 + " -> " + s1.equals(s2));
		System.out.println(s1 + " equalsIgnoreCase " + s2 + " -> " + s1.equalsIgnoreCase(s2));
		System.out.println(s3 + " equals " + s4 + " -> " + s3.equals(s4));
		System.out.println(s3 + " equalsIgnoreCase " + s4 + " -> " + s3.equalsIgnoreCase(s4));
	}
}

其输出为:

hello equals HELLO -> false
hello equalsIgnoreCase HELLO -> true
你好,world equals 你好,WORLd -> false
你好,world equalsIgnoreCase 你好,WORLd -> true

2、regionMatches()

其功能为比较字符串中的某一特定部分和另一字符串中的某一特定部分

regionMatches(toffset, other, ooffset, len)
//从toffset开始字符串other与ooffset开始的长为len的子串相比较
regionMatches(ignoreCase, toffset, other, ooffset, len)
//如果ignoreCase为true,则不区分大小写,否则区分大小写
//其他项和前面相同

3、startsWith() 和 endsWith()

startsWith() 方法确定给定的String对象是否以指定的字符串开始

endsWith() 方法确定给定的String对象是否以指定的字符串j结束

4、equals() 和 ==

equals() 方法比较String 对象中的字符
“ ==” 运算符比较对两个对象的引用,查看他们是否指向相同的实例

实例演示:

public class equalsDemo {
	public static void main(String[] args) {
		String s1 = "hello";
		String s2 = new String(s1);
		System.out.println(s1.equals(s2));
		System.out.println(s1==s2);
	}
}

输出结果:

true
false

5、compareTo()

字符串大小按字典序排序,是由Compareable接口定义的,String实现了这个接口
方法具体细节以后介绍

六、查找字符串

indexOf() :查找字符或子串第一次出现的索引
lastIndexOf() : 查找字符或子串最后一次出现的索引

public class indexOfDemo {
	public static void main(String[] args) {
		String s = "Now is the time for all good men " +
					"to come to the aid of their country.";
		System.out.println(s);
		System.out.println("indexOf(t) = " + s.indexOf('t'));
		System.out.println("lastIndexOf(t) = " + s.lastIndexOf('t'));
		System.out.println("indexOf(the) = " + s.indexOf("the"));
		System.out.println("lastIndexOf(the) = " + s.lastIndexOf("the"));
		System.out.println("indexOf(t,10) = " + s.indexOf('t',10));
		System.out.println("lastIndexOf(t,60) = " + s.lastIndexOf('t',60));
	}
}

输出结果为:

Now is the time for all good men to come to the aid of their country.
indexOf(t) = 7
lastIndexOf(t) = 65
indexOf(the) = 7
lastIndexOf(the) = 55
indexOf(t,10) = 11
lastIndexOf(t,60) = 55

未完待续。。。。

你可能感兴趣的:(Java)