package StringTest;
import java.util.Iterator;
public class StringTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringTest st = new StringTest();
st.testString();
}
/*
* 介绍String的常用方法
* */
public void testString () {
String str = "This is test string!";
printContent("\n用于被测试的字符串为:"+str);
//length()字符串的长度
printContent("\n方法length()用于获取字符串的长度,被测试字符串的长度为:");
int length = str.length();
System.out.println(String.valueOf(length));
//equal(String)判断
printContent("\n方法equals(Object o)用于判断字符串是否与目标字符串的内容相同");
boolean b = str.equals("test");
printMethod("str.equal(\"test\")");
printResult(String.valueOf(b));
//equalsIgnoreCase(string)
System.out.println("\n如果比较的时候不区分大小写,可以使用equalsIgnoreCase(Object o)方法,下面是\"test\"与\"Test\"比较的结果:");
printMethod("\"test\".equalsIgnoreCase(\"Test\")");
b = "test".equalsIgnoreCase("Test");
printResult(String.valueOf(b));
//arAt(int x)获取字符串中的字符
printContent("\n\n获取字符串中某个位置的字符,可以使用charAt(int index)方法:");
printContent("测试字符串第5个位置的字符串(注意索引从0开始)");
char c = str.charAt(5);
printMethod("str.charAt(5)");
printResult(String.valueOf(c));
//substring(int x1,int x2)获取子串x1~末尾、x1~x2
printContent("\n\n获取字符的方法有两个,subString(int fromindex)和substring(int fromindex,int endindex)");
printContent("第一个方法获取从fromindex开始之后的子串,第二个方法获取从fromindex开始到endindex结束的子串:");
printContent("索引从0开始,包含fromindex,不包含endindex:");
String strSub = str.substring(3);
printMethod("str.substring(3)");
printResult(strSub);
strSub = str.substring(3,6);
printMethod("\nstr.substring(3,6)");
printResult(strSub);
//trim()去除字符串前或后面的空格
printContent("\n\n去除字符串前面或者后面的空格,可以使用trim()方法:");
printContent("字符串\"100 01 \"原来的长度为: "+"100 01 ".length()+"\n"+"使用trim()方法之后的长度为:"+"100 01 ".trim().length());
//indexOf(int ch)
printContent("\n判断一个字符在字符串中的位置,可以使用indexOf(int ch)和indexOf(int ch,int from)方法"+
",\n如果不存在返回0,第一个方法从字符串开头查找,第二个开始from位置开始查找,包含该位置");
int index = str.indexOf('s');
printMethod("str.indexOf('s')");
printResult(String.valueOf(index));
printMethod("\nstr.indexOf('s',6)");
index = str.indexOf('s',6);
printResult(String.valueOf(index));
//indexOf(String)
printContent("\n\n判断一个字符在字符串中的位置,可以使用indexOf(String str)和indexOf(String str,int from)方法"+",\n如果不存在返回0,第一个方法从字符串开头查找,第二个开始from位置开始查找,包含该位置");
index = str.indexOf("is");
printMethod("str.indexOf(\"is\")");
printResult(String.valueOf(index));
index = str.indexOf("is",3);
printMethod("\nstr.indexOf(\"is\",3)");
printResult(String.valueOf(index));
index = str.indexOf("is",7);
printMethod("\nstr.indexOf(\"is\",7)");
printResult(String.valueOf(index));
//---------------这是一条分割线---------------------------
printContent("\n 判断一个字符在字符串中的位置,可以使用indexof(int ch )和 indexof(int ch ,int from)方法" + ",\n 如果不存在返回0,第一个方法从字符串来头查找,第二个方法从from位置查找,包含该位置");
index = str.indexOf('s');
printMethod("str.indexOf('s')");
printResult(String.valueOf(index));
index = str.indexOf('s',6);
printMethod("\n str.indexOf('s',6)");
printResult(String.valueOf(index));
printContent("\n 判断一个字符在字符串中的位置,可以使用indexof(String str)和 indexof(String str ,int from)方法" + ",\n 如果不存在返回0,第一个方法从字符串来头查找,第二个方法从from位置查找,包含该位置");
index = str.indexOf("is");
printMethod("str.indexOf(\"is\")");
printResult(String.valueOf(index));
index = str.indexOf("is",3);
printMethod("\n str.indexOf(\"is\",3)");
printResult(String.valueOf(index));
index = str.indexOf("is",7);
printMethod("\n str.indexOf(\"is\",7)");
printResult(String.valueOf(index));
printContent("\n 与indexOf方法相似,还有lastIndexOf方法,用法基本相同,不同的是开始查找的位置不同,一个从前,一个从后");
printContent("\n 判断字符串是否以某个子串为后缀,使用endWish(String str)");
b= str.endsWith("test");
printMethod("str.endsWith(\"test\")");
printResult(String.valueOf(b));
b = str.endsWith("String!");
printMethod("\n str.endsWith(\"String!\")");
printResult(String.valueOf(b));
printContent("\n 与endsWish方法功能相似,startWish(String prefix)和" + "\n starWith(String prefix,int toffset)用于判断是否以某个子串为前缀");
printContent("\n 替换字符串中的字符,使用replace(char oldChar,char newChar)方法");
String str2= str.replace('s','s');
printMethod("str.replace('s','s')");
printResult(String.valueOf(str2));
printContent("\n 替换字符串中的第一次出现的某个字符,使用replaceFirst(String oldStr , String newStr)方法");
str2= str.replaceFirst("is","IS");
printMethod("str.replaceFirst(\"is\",\"IS\")");
printResult(String.valueOf(str2));
printContent("\n 替换字符串中的所有的出现的某个字符,使用replaceAll(String oldStr , String newStr)方法");
str2= str.replaceAll("is","IS");
printMethod("str.replaceAll(\"is\",\"IS\")");
printResult(String.valueOf(str2));
printContent("\n 可以根据某个特定的格式吧字符串分成多个子串,使用split方法," + "\n使用的测试字符串为zhangsan-lisi-wangwu");
str2= "zhangsan-lisi-wangwu";
String strSplist[] = str2.split("-");
printMethod("str.split(\"-\")");
for (int i = 0; i < strSplist.length; i++) {
printResult(String.valueOf(strSplist[i]+" "));
}
}
/*
* 显示注释内容
* */
private static void printContent(String str) {
System.out.println(str);
}
/*
* 显示代码
* */
private void printMethod(String str) {
System.out.print(str);
for(int i =0;i<30-str.length();i++) {
System.out.print(" ");
}
}
/*
* 显示结果
* */
private void printResult(String str) {
System.out.print(str);
}
}