public class Division {
public static void main(String[] args) {
String str="192.168.1.1";
String[] firstArray=str.split("\\.");
String[] secondArray=str.split("\\.",2);
System.out.println("str的原值为:["+str+"]");
System.out.println("全部分割结果为:");
for(String a:firstArray){
System.out.print("["+a+"]");
}
System.out.println();
System.out.println("分割两次结果为");
for(String a:secondArray){
System.out.print("["+a+"]");
}
System.out.println();
}
}
执行结果为:
str的原值为:[192.168.1.1]
全部分割结果为:
[192][168][1][1]
分割两次结果为
[192][168.1.1]
格式化字符串
String类静态forma格式化的字符串方法用于创建格式化的字符串
format()方法有两种重载形式
public class All_所有时间 {
public static void main(String[] args) {
Date date=new Date();
String year=String.format("%tY", date);
String month=String.format("%tm",date);
String day=String.format("%td", date);
String a=String.format("%ta", date);
String hour=String.format("%tH", date);
String minute=String.format("%tM", date);
String second=String.format("%tS", date);
System.out.println(year+"/"+month+"/"+day+" "+a+" "+hour+":"+minute+":"+second);
}
}
执行结果为:2018/07/05 星期四 15:00:17
使用正则表达式:
正则表达式用于判断语句居多,用来检查某一字符串时候满足某一格式
用判断E-mai地址合法的是那几个
public class Judge {
public static void main(String[] args) {
//定义要匹配的E-mail地址的正则表达式
String regex="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";//符合这个正则表达式的为E-mail地址
String str1="aaa@";
String str2="asd@qq.com";
String str3="1111@qqffyu.dfg.com";
if(str1.matches(regex)){
System.out.println(str1+"是一个合法的E-mail地址格式");
}
if(str2.matches(regex)){
System.out.println(str2+"是一个合法的E-mail地址格式");
}
if(str3.matches(regex)){
System.out.println(str3+"是一个合法的E-mail地址格式");
}
}
}
执行结果为:asd@qq.com是一个合法的E-mail地址格式
1111@qqffyu.dfg.com是一个合法的E-mail地址格式
字符串生成器:
创建成功的字符串,长度为固定的,内容不能被改变和编译。
下面就来验证一下字符串的长度和其字符串的工作效率
public class Jreque {
public static void main(String[] args) {
String str="";
//定义对字符串执行操作的起始时间
long startTime=System.currentTimeMillis();
for(int i=0;i<10000;i++){
str=str+i;
}
long endTime=System.currentTimeMillis();
long time=endTime-startTime;
System.out.println("String消耗时间"+time);
StringBuilder builder=new StringBuilder("");
startTime=System.currentTimeMillis();
for(int j=0; j<10000;j++){
builder.append(j);
}
endTime=System.currentTimeMillis();
time=endTime-startTime;
System.out.println("StringBuilder 消耗时间:"+time);
}
}
执行结果为:
String消耗时间273
StringBuilder 消耗时间:1