字符串
1.字符串操作
创建一个String 对象:
String s = new String(“good”);
连接字符串(或其他类型都用+号):
String s = s1 + " " + s2;
查找a在字符串str中的索引位置:
int size = str.indexOf(“a”); //首次出现
int size = str.lastIndexOf(“a”); //最后一次出现
获取指定索引位置的字符(查看位置6的字符):
char mychar = str.charAt(6);
获取子字符串:
String substr = str.substring(3); //从索引位置为3开始到结尾
String substr = str.substring(0, 3); //从0开始到3结束
去除空格
String trimstr = str.trim(); //去除字符串首尾的空格
字符串替换
replace()
String newstr = str.replace(“a”, “A”);
判断字符串开始与结尾
**startsWith() endsWith()**返回boolean类型
boolean b1 = num1.startsWith(“22”); //是否以22开头
boolean b2 = num2.endsWith(“33”);
判断字符串是否相等
boolean b = s1.equals(s2); //比较s1与s2是否相等
**equalslgnoreCase()**忽略大小写
按字典顺序比较两个字符串
boolean x = s1.compareTo(s2); // 与s2相比,s1较前则返回一个负整数,s1较后返回正整数,相等返回0
字母大小写转换
String newstr1 = str.toLowerCase(); //小写转换
String newstr2 = str.toUpperCase(); //大写转换
字符串分割
运行结果为:
2.格式化字符串
日期格式化
format()
Date date = new Date();
String s = String.format("%te", date);
时间格式化
format()
常见日期时间组合
format()
常规类型格式化
format()
3.使用正则表达式
public class Judge {
public static void main(String[] args) {
// 定义要匹配E-mail地址的正则表达式
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
// (\\.\\w{2,3})*表示".+2~3个可作为标识符的字符" 可出现0次或多次
String str1 = "aaa@";
String str2 = "1111@111ffyu.com";
String str3 = "1111@111ffyu.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地址格式");
}
}
}
4.字符生成器
StringBuilder()
如果在程序中频繁附加字符串,建议使用StringBuilder,可自行指定初始长度。如果附加字符超过可容纳长度,则StringBuilder对象自动增加长度容纳被附加的字符。
若要使用StringBuilder最后输出字符串结果,可使用toString()方法。
向字符串生成器中追加内容
append(concent)
指定位置插入数据内容
insert(int offset , arg)
移除此序列的子字符串中的字符
delete(int start, int end)
例子:
StringBuilder bf = new StringBuilder("hello");
bf.insert(5, "word");
System.out.println(bf.toString());
bf.delete(5, 10);
System.out.println(bf.toString());