字符串大小写字母变换:
java中字符串大小写字母变换可以用到toLowerCase()方法(变成小写)和toUpperCase()(变成大写)方法,使用例子是
字符串名.toLowerCase() (另一个也一样)
String en="hello";
System.out.println(en.toLowerCase());
输出结果是:HELLO。
java中字符串长度的获取
Java中字符串长度的获取可以用到length()方法,使用格式为
字符串名.length()
String a="qwerty";
int b=a.length();
System.out.println(b);
输出的结果为:6
Java定义字符串的方法
第一种,直接String 字符串名="....."
这是最简单快捷的方式
第二种,使用String()类定义。
1.String(string original)
比如 String a=new String("hello");
String b=new String(a);
这时候a和b是一样的
Java中字符串里空格的删除
Java里字符串里空格的删除可以用到trim()方法,运用实例为
字符串名.trim();
当然java中的各种方法也可以混合运用,比如
String a=" hello ";
int b=a.trim().length();
System.out.println(b);
这里输出b的值为5而不是7,因为空格已经被删除了。
字符串截取
Java的字符串截取可以用到substring()方法
第一种:substring(beginindex),截取的是从beginindex一直到末尾的字符串段
第二种;substring(beginindex,endindex),截取的是从begin到end的字符串段,需要注意的是,考虑beginindex的数值时,需要从0开始(也就是下标),而考虑endindex的数值时,则是从1开始。
例子如下图。
使用格式为:字符串名.substring();
字符串分割
可以用于字符串中有分割符,如",","."等符号
分割字符串可以用到split()方法
第一种:字符串名.split(sign);
sign表示分割符
第二种,字符串名.split(sign,int limit);
limit表示分割出来的小段的数目限制
值得一提的是|、.等都是转义字符,在使用时需要加上\\才能正确的分割。
如果在一个字符串中有多种连字符,可以用|来分割,比如
account=?and a=?or b=?
将and和or看作连字符 则可以使用split("and|or");来分割这个字符串
java中字符串的替换
用的是replace方法
用法为字符串.replace(oldstring,newstring);
oldstring代表的是要被替换的旧字符串,newstring代表新字符串。
第二个是relpacefirst(string regex,string new);方法,将字符串中第一个与regex匹配的子串替换成new字符串。
第三个是replaceAll(regex,new);方法,将字符串中所有与regex匹配的子串替换成new
java字符串的比较
Java中字符串的比较可以用到
1.equals()方法,用于比较两个字符串的内容,一样则返回true,否则返回false。注意是要区分大小写的。
2.equalsIgoreCase()方法,与equals()方法不同的是不区分大小写。
Java中空字符串和null的区别
空字符串"":
String str1="";
这个时候str1是被实例化的,当然也就是被分配了内存空间,内容为"";
null:
String str2=null;
这个时候str2是没有被实例化的,是一个空的引用,因此也就没有被分配内存
Java字符串查找
java字符串查找可以用到indexOf();方法
1.indexOf(sign);
2.indexOf(sign,fromindex);这里的fromindex表示索引起点,即从下标为fromindex的位置开始从左向右查找
第二种是lastindexOf方法,与上一个不同的是lastindexOf方法查找的方向是从右向左,
当然也可以加上索引起点
Java的StringBuffer类
Java中的定义字符串可以用到string类,但是string类就像C语言中的定义数组array[],数组的容量难以改变,为此,Java中有一种可以实现容量变化的字符串类,也就是StringBuffer类
StringBuffer提供了三种创建字符串的方法
1.StringBuffer();为字符串提供一个空的缓冲区和16个字节的容量。
2.StringBuffer(int length);字符串的容量是length
3.StringBuffer(str);字符串的内容为str,容量为str的大小再加上16字节。
capacity()方法:是可以查看字符串容量的方法。
追加字符串:
str.append()方法
该方法格式为:stringbuffer 对象.append(string str);(这里的str就是一个字符串)
替换字符:setCharAt(int index,char c);c就是替换的字符,index是要被替换的字符的位置。
反转字符串:string buffer 对象.reserve();顾名思义,将字符串反转,比如ab变成ba
删除字符串:
1.deleteCharAt(int index);方法,删除index位置的字符
2.delete(int start,int end);方法,删除从start开始(包括start)到end结束(不包括end)索引值之间的字符串。
正则表达式(重点)
正则表达式是一种功能强大的格式化形式的一类能发挥特征和代替作用的字符串
类似于"abc"的绝大多数字符串都可以成为正则表达式,正则表达式的用途是匹配,意思就是匹配格式、内容相同的其它字符串,当然也可以是字符串本身。形如abc的字符串则只能匹配字符串。
至于正则表达式的详细内容日后用另外的一个笔记详细叙述出来。
Java Pattern类和Matcher的使用
pattern和matcher是Java提供的两种类
被包含在java.utl.regex这个类库包种
Pattern对象是正则表达式被编译之后在内存中的存储形式,因此正则表达式必须先被编译为pattern对象,再利用这个pattern对象建立相应的matcher对象,一个matcher对象可以共享多花个pattern对象。
pattern和matcher的调用顺序为
Pattern p=Pattern.compile("a*b");
Matcher m=p.matcher("aaaab");
boolean b=m.matches();
System.out.println(b);
结果为true。
Matcher 类提供了几个常用方法,如表 1 所示。
名称 | 说明 |
---|---|
find() | 返回目标字符串中是否包含与 Pattern 匹配的子串 |
group() | 返回上一次与 Pattern 匹配的子串 |
start() | 返回上一次与 Pattern 匹配的子串在目标字符串中的开始位置 |
end() | 返回上一次与 Pattern 匹配的子串在目标字符串中的结束位置加 1 |
lookingAt() | 返回目标字符串前面部分与 Pattern 是否匹配 |
matches() | 返回整个目标字符串与 Pattern 是否匹配 |
reset() | 将现有的 Matcher 对象应用于一个新的字符序列。 |