Java中String类的一些用法


Java相对于目前的一些语言来说是一门成熟的语言,因此,它拥有许多库函数.在这,说一些常用的String类的一些函数,还会陆续补充,也欢迎大家补充修正.




String s = new String("bye")  String s1 = new String("bye")
        if(s==s1) 结果是false,因为这是比较这两个是不是同一个字符串,而不是比较内容
如果要比较两个字符串的内容是否是一样的,那么需要用s.equals(s1)来判断




s.compareTo(s1) 比较两个字符串的大小,1表示s大,-1表示s1大,0表示相等


s.length() 获取字符串的长度


s.charAt(index)访问字符串里的字符,index的范围是length()-1
第一个字符的index是0,不能用for-each循环来遍历字符串


s.substring(n)得到子串:得到从n号位置到末尾的全部内容


s.substring(b,e)得到子串:得到从b号位置到e号位置之前的内容


s.indexOf(c) 得到c字符所在的位置,-1表示不存在
s.lastIndexOf(c)从右边开始找


s.indexOf(c,n)从n号位置开始寻找c字符
s.lastIndexOf(c,n)从右边开始找


s.indexOf(t) 找到字符串t所在的位置
s.lastIndexOf(t) 从右边开始找


s.trim() 把字符串两端的空格删掉


s.replace(s,s1) 把s换成s1,即把s1复制给s


s.replaceAll("要替换的东西a的正则表达式","用b替换")   将一个字符串中的a全部变为b 


s.toLowerCase()把字符串的所有字母都换成小写字母


s.toUpperCase()  把字符串里的所有字母都换成大写字母


s.startsWith(t) s.endsWith(t)  看这个字符串是不是以t子串开头或结尾的




PS:字符串本身是不可修改的,s.trim(),s.replace(s,s1),s.replaceAll(s,s1),s.toLowerCase()
s.toUpperCase()这些不能直接对s进行修改,需要用一个新的串来存放修改后的串.
如:String s2 = s.*****().


replaceAll的一些用法


st.replaceAll("[0-9]","");   将字符串中的数字全部删掉


st.replaceAll("[^0-9]","");   将字符串中除了数字以外的字符全部删掉


st.replaceAll("[a-zA-Z]","");  将字符串中的字母全部删掉


st.replaceAll("[^a-zA-Z]","");  将字符串中除了字母以外的字符全部删掉


st.replaceAll("\\d","");      将字符串中的数字全部删掉 


以上都是将某些字符给删掉,如果不删掉而是用其他字符替换掉,那么就在第二个""中
输入字符用来替换.


//d这个是由两部分组成的,\ 转义符加\d是一个正则表达式,标识所有数字及0-9.
之所以要加\是因为在JAVA中一些特殊的符号如[回车]是没有符号代表的,
所以需要转义符这个概念.而像回车这类转义符都是由\开始的,那么就出现了第二个问题,
如果我要输入的恰恰是\符号怎么办,那么这个问题就还用转义符来解决,所以\的转义符就是\\.



   其他的一些正则表达式
  \\ 反斜杠 
\t 间隔 ('\u0009')
\n 换行 ('\u000A')
\r 回车 ('\u000D')
\d 数字 等价于 [0-9]
\D 非数字 等价于 [^0-9]
\s 空白符号 [\t\n\x0B\f\r]
\S 非空白符号 [^\t\n\x0B\f\r]
\w 单独字符 [a-zA-Z_0-9]
\W 非单独字符 [^a-zA-Z_0-9]
\f 换页符 
\e Escape
\b 一个单词的边界 
\B 一个非单词的边界 
\G 前一个匹配的结束




猜你喜欢

转载自blog.csdn.net/youth_mr6/article/details/64438817