Java中通常用String类表示(注意S是大写的,这点不同于STL中的string,因为Java中类名首字母都要大写),String类中包含了大量处理字符串的方法,使用起来非常方便。下面罗列几个:
1、字符串创建的几种方法:
直接赋值为字符串常量(双引号引起来): String s="abc";
利用构造方法:String s=new String("abc");
字符串输入:
Scanner sc=new Scanner(System.in);
String s=sc.next();(读入一个字符串)
或String s=sc.nextLine()(读入一行)等。
2、求字符串长度的方法:length()
如String s="abc";
则s.length()
的值为3。
3、求字符串在某个位置字符的方法:charAt(index)
如String s=“abc”;
则s.charAt(0)='a',s.charAt(1)='b'
等。
4、比较两个字符串是否相等的方法:equals(anotherstr),注意它是区分大小写的。
如String s1="abc",String s2="abc",String s3="Abc",
则s1.equals(s2)
的值为true,s1.equals(s3)
的值为false。
如果不区分大小写可以使用**equalsIgnoreCase()**方法。
特别注意比较两个字符串是否相等不能用==,==是用来判断它们是否“同一”而非“相等”。
5、求子串的方法:substring(begin,end)
注意取字符串的位置范围是begin~end-1
如“abcde".substring(1,4)
的值为bcd。end参数省略时,取到结束。
6、字符串和字符数组可以相互转化:
字符串转字符数组:使用toCharArray()
如String s="abc";
则char[] cs=s.toCharArray();
字符数组转字符串:使用字符串的构造方法
如char[] cs={'a','b','c'};
,则String s=new String(cs);
7、字符串大小写转化:
全部转小写:toLowerCase();
如:"AbCd".toLowerCase( )="abcd"
全部转大写:toUpperCase();
如:"AbCd".toUpperCase( )="ABCD"
8、查找子串:
indexOf(substr),返回字符串中第一次出现substr的下标,没有则返回-1。
lastIndexOf(subStr) 返回最后一次出现的下标。
如:“abcde".indexOf("cd")=2;
"abcde".indexOf("ba")=-1;
"abcdaba".lastIndexOf("ab")=4;
9、字符串比较:compareTo(anotherstr):按字典序比较,返回值反应大小关系。
如:
"abc".compareTo("def")=-3;
"baa".compareTo("azz")=1;
"abc".compareTo("abc")=0;
10、判断是否以某字符串开始或结束:
startsWith(anotherstr),endsWith(anotherstr),返回true或false。
11、去除收尾空格:trim( ),中间空格不去除。
12、 按指定定界符分割字符串:split( regex) ,返回字符串数组。
如:"aa:bb:cc".split(":")={"aa","bb","cc"};
直接输出会产生错误:如下代码:
解决方法:用Arrays.toString() 方法
import java.util.Arrays;
public class test {
public static void main(String[] args) {
String a1 = "aa:bb:cc";
String[] a2 = a1.split(":");
System.out.println(Arrays.toString(a2));
}
}
13、替换字符串中指定字符,形成新的字符串:
"aabbcc".replace("a","dd")=“ddddbbcc”;
更多方法的用法可以参考Java类库手册。