目录
一、声明字符串:
String a;Stringa,b,c;
创建字符串的方法:
1、应用字符串常量:String a=“abc”;
2、利用构造法直接实例化:public String(String original);
示例:String a=new String(“abc”);
3、利用字符数组实例化:public String(char[] value)
示例:char[] charArray={"a","b","c"};
String a=new String (charArray);
package ClassString;
public class zifushuzushlihua {
public static void main(String[] args) {
char[] charArray= {'时','间','就','是','金','钱'};
String a=new String(charArray);
System.out.println(a);
// TODO 自动生成的方法存根
}
}
package ClassString;
public class zifushuzushlihua {
public static void main(String[] args) {
char[] charArray= {'时','间','就','是','金','钱'};
String a=new String(charArray,4,2);
System.out.println(a);
// TODO 自动生成的方法存根
}
}
4、利用字节数组实例化:public String(byte[]bytes) //bytes字节数组
示例:byte[]byteArray={-60;-6;-70};
String a=new String(byteArrays);
package ClassString;
public class zijieshuzushilihua {
public static void main(String[] args) {
byte[] byteArray= {-60,-6,-70,-61};
String a=new String (byteArray);
System.out.println(a);
// TODO 自动生成的方法存根
}
}
二、连接字符串:
1、字符串的连接
package ClassString;
public class Stringconnect {
public static void main(String[] args) {
String a="abc";
String b="def";
System.out.println(a+"123");
System.out.println(a+b);
// TODO 自动生成的方法存根
}
}
三、获取字符串信息
1、获取字符串长度:public int length()
2、字符串查找:int a=str.indexOf ("abcde","a")
3、判断字符串是否存在:str.indexOf("B");
判断字符串中是否有“B”这个字符串:true——返回“B”的索引位置
false——返回-1
4、获取指定的字符的方法:public char charAt(int idex) //index:要获取索引的位置
5、获取字符串的4种方法:
package ClassString;
public class getstringinformation {
public static void main(String[] args) {
String a="abc.3bcaaaa";
String b="def.";
int c=a.length();
int d=b.length();
int e=a.indexOf("b");
int f=a.indexOf("b",2);
int g=a.lastIndexOf("b");
int h=a.lastIndexOf("b",5);
int i=a.lastIndexOf("b",4);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
System.out.println(i);
// TODO 自动生成的方法存根
}
}
四、字符串的操作:
1、截取子字符串:public String substring(int beginIndex) //beginIndex 指定开始位置
public String substring(int beginIndex,int lastIndex) //endIndex 指定结束位置
2、去除首尾空白内容:public String trim()
去除字符串中所有空白内容:public String replaceAI("\\s"," ") // //s正则表达式 “”空内容字符串
3、字符串的替换
public String replace(“新字符串”,“旧字符串”)
4、判断字符串的开始与结尾:
结尾内容:public boolean endsWith(String a) // a:要对比的字符串
句首内容:public boolean beginWith(String a) // a:要对比的字符串
5、判断字符串是否相等
(为什么不能用==进行比较:==代表的是位置的比较(我理解的))
语法:public boolean equals(String anotherString) //anotherString:被比较的字符串
忽略大小写的比较:public boolean equalsIgnoreCase(String anotherString) //anotherString:被比较的字符串
6、大小写转换
7、字符串的分割
public String[] split(String regex) //regex 用于分割符号
public String[] split(String regex,int limit) //regex 用于分割符号,limit 分割次数
package ClassString;
public class doString {
public static void main(String[] args) {
String a=" a b c ";
String b="123,456,7891";
String c=b.substring(1,5);//截取
String d=a.trim();//首尾空白
String e=a.replaceAll("\\s","");//删除所有空格
String f=b.replaceAll("1", "壹");//改一次
String g=b.replaceFirst("1", "壹");//改全部
String h=a.toUpperCase();//变大写
Boolean i=h.equals(a);//对比
Boolean j=h.equalsIgnoreCase(a);//比较不考虑大小写
String[] k=b.split(",");//分开
// TODO 自动生成的方法存根
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
System.out.println(i);
System.out.println(j);
System.out.println(k[0]+" "+k[1]);
System.out.println(k[0]+" "+k[1]);
}
}
五、格式化
1、格式化字符串:String.format(String format,object…args)
示例:Date date=new Date();
String str=String,format("%tF",date);
package ClassString;
import java.util.Date;
public class datechange {
public static void main(String[] args) {
Date date=new Date();
String str=String.format("%tF", date);
System.out.println(date);
System.out.println(str);
String year=String.format("%tY", date);
String month=String.format("%tB", date);
String day=String.format("%td", date);
String hour=String.format("%tH", date);
String min=String.format("%tM", date);
String s=String.format("%tS", date);
System.out.println("现在是"+year+"年"+month+day+"日"+hour+"时"+min+"分"+s+"秒");
String str1=String.format("%tF", date);
String str2=String.format("%tD", date);
String str3=String.format("%tc", date);
String str4=String.format("%tr", date);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str4);
// TODO 自动生成的方法存根
}
}
2、常规类型格式化
package ClassString;
public class normalgeshihua {
public static void main(String[] args) {
System.out.println(String.format("%d", 1+70));
System.out.println(String.format("%.2f", Math.PI));
System.out.println(String.format("%b", 1<5));
System.out.println(String.format("%e", 87000000.1));
System.out.println(String.format("天才是由%d%%的灵感和%d%%的汗水", 1,99));
// TODO 自动生成的方法存根
}
}
六、正则表达式
1、正则表达式是一组公式,描述了一种字符串匹配的格式。
通常被用于判断语句中,用来检查某一字符是否满足某一格式。我们可以调用String中的matches(String regex)方法,判断字符串是否匹配给定的正则表达式,返回布尔值。
package ClassString;
public class email {
public static void main(String[] args) {
String regex="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
String a1="111111";
String a2="tfyt@gfu.iuh.c0n";
String a3="outman@163.com";
String a4="ijohj@123.12.com";
if(a1.matches(regex)) {
System.out.println("ok");
}
else {
System.out.println("no");
}
if(a1.matches(regex)) {
System.out.println("ok");
}
else {
System.out.println("no");
}
if(a3.matches(regex)) {
System.out.println("ok");
}
else {
System.out.println("no");
}
if(a4.matches(regex)) {
System.out.println("ok");
}
else {
System.out.println("no");
}
// TODO 自动生成的方法存根
}
}