valeOf方法
将其他类型转换为字符串类型~
如:
int =100;
double d = 152.23
String str = String.valueOf(i);
String str = String.valueOf(d);
就给转换成字符串了
但是一般用 数字 +“”数字加个空字符串就转换成字符串了
StingBuilder及其API
StingBuilder为了修改字符串
其内部是一个可变的数组。改变字符串就是在原来基础上改变
代码:
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建个空的
String str = new String();
StringBuilder sb =new StringBuilder();
//对已有的字符串进行修改为StringBuilder
StringBuilder sb2 =new StringBuilder("hello");
//在字符串末尾追加字符串
//努力学习java,为了找个好工作
sb.append("努力学习java,为了找个好工作");
str =sb.toString();
System.out.println(str);
//努力学习java,为了改变世界
//替换字符串,3个参数,开头结尾,含头不含尾。
sb.replace(9,16, "为了改变世界");
str =sb.toString();
System.out.println(str);
//删除字符串,指定位置
sb.delete(0,9);
str =sb.toString();
System.out.println(str);
//活着,为了改变世界
//append是在末尾加
//insert方法是插入
sb.insert(0, "活着,");
//写下标,插入的字符串到这个下标的位置,后面依次向后移。
str =sb.toString();
System.out.println(str);
}
运行后:
努力学习java,为了找个好工作
努力学习java,为了改变世界
为了改变世界
活着,为了改变世界
他们调完这些方法返回的还是StringBuilder
也就是说可以像JQ那样可以连续调用方法
StringBuilder的反转字符串
StringBuilder sb = new StringBuilder("hello");
System.out.println(sb.toString());
System.out.println(sb.reverse());
String有替换字符串,但是没有反转,替换也和StringBuilder的替换参数也不一样
还有StringBuffer ~~~效果和StringBuilder参数和方法一样,但是Buffer是线程安全的
但是考虑到安全会有点下降效率。
汉字:
\u4e00 ------\u9fa5
for(char c=”\u4e00”;c<”u9fa5”;c++){
char 可以加~~~~
}
打印所有汉字
//用char c 去加,小于\u9fa5;
for(char c='\u4e00';c<'\u9fa5';c++){
System.out.println(c);
基本正则表达式
邮箱匹配:
代码:
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
*邮箱地址
*+,前面至少有一个
*[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+
* java的点没有特殊含义,但是\是转义符,那么就把那个\在转义
* 就是说在正则中有\的地方就在前面加个\就行了。
*/
String regex ="[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)+";
System.out.println("请输入邮箱");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
//字符串的方法 matches,传入个正则字符串
if(input.matches(regex)){
System.out.print("匹配");
};
if(!input.matches(regex)){
System.out.print("不匹配");
}
}
split方法:
拆分字符串,满足正则表达式的
什么地方满足正则,然后切下就不要了。就把字符串切分了
split返回一个数组
代码:
public class String_split {
public static void main(String[] args){
String str = "boss,jack,marry,jackson";
//以逗号切分,但是如果如果以逗号切分,就要加个转义,因为传入的是正则
//如果空字符串写在后面就不算了,在开头和中间算
String [] array = str.split(",");
//System.out.println(Arrays.toString(array));
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
replaceAll方法
字符串替换
把数字,连续数字换为
代码:
public static void main(String[] args){
String str = "ab1234aasdqweasd787878899789324dsdf";
//传入regex,把连续的数字变为#,不写加就把每一个数字换成#
System.out.println(str.replaceAll("\\d+", "#"));
}
}
匹配替换和谐变为*
代码:
public static void main(String[] args) {
// TODO Auto-generated method stub
//"(0086|\\+86)"就是可以用|表示或,匹配其中的一个
String regex ="(wqnmlgb|cnm|dsb|rnmb|sb|db|djb)?";
String mes = "wqnmlgb你太sb了!cnm!你个djb";
System.out.println(mes.replaceAll(regex,"***"));
}