java 11 字符串新方法
lines() 方法
repeat()
isBlank()
字符串格式化 String.format();
System.out.printf(); 格式化输出 %s %d %f %tF
String.format(); 返回格式化后的字符串
%s 字符串
%d 数字
%03d 3位数字
%f 小数
%t 制表位
正则表达式?
字符串模式 规则
正则表达应用领域:字符搜索 检查 替换
String 对象中支持正则表达式的方法
ReplaceAll() 替换
match() 匹配
split() 拆分
java 正则表达式工具类
java.util.regex包下
Pattern 模式类
Matcher 匹配器类
\\d 代表1位数字
[0-9] 代表1位数字
[1,3,5] 代表1位数字,范围在135
* 代表前边元字符,0个或多个 {0,}
. 任意字符
+ {1,}
? {0,1}
{n}
()
|
.*[0-9].* 数字
.*[a-zA-Z].* 字母
.*[\u4e00-\u9fa5]{3}.* 汉字
1、正则表达式实现判断有没有数字,有没有中文,有没有英文, 手机号判断格式
public class Zuo2 {
public static void main(String[] args) {
String str="cdsgf第三个776";
if(str.matches(".*\\d.*")) {
System.out.println("含有数字");
}else {
System.out.println("不含数字");
}
if(str.matches(".*[\\u4e00-\\u9fa5].*")) {
System.out.println("含有中文");
}else {
System.out.println("不含中文");
}
if(str.matches(".*[a-zA-Z].*")) {
System.out.println("含有英文");
}else {
System.out.println("不含英文");
}
str=str.replaceAll("\\d","");
System.out.println(str);
str ="13798797927";
if(str.matches("1[3,5,7,,8,9]\\d{9}")) {
System.out.println("是电话号");
}else {
System.out.println("不是电话号");
}
}
3、求字符串中所有数字的和
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Zuo3 {
public static void main(String[] args) {
String s="0f8oi324oi3r2893r3jur0yr";
Pattern p=Pattern.compile("\\d{1,}");
Matcher m=p.matcher(s);
System.out.println(p);
System.out.println(m);
// System.out.println(m.find());
int sum=0;
StringBuilder str=new StringBuilder();
while(m.find()) {
String temp=m.group();
sum+=Integer.parseInt(temp);
str.append(temp+"+");
}
str.replace(str.length()-1, str.length(), "=");
System.out.println(str.toString()+sum);
}
}

浙公网安备 33010602011771号