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);
}
}