String 常用方法

来源:互联网 发布:三维文字制作软件 编辑:程序博客网 时间:2024/06/08 04:32
java中String的常用方法
ava中String的常用方法
1、length() 字符串的长度
  例:char chars[]={'a','b'.'c'};
    String s=new String(chars);
    int len=s.length();
2、charAt() 截取一个字符
  例:char ch;
    ch="abc".charAt(1); 返回'b'
3、 getChars() 截取多个字符
  void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此, 子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
  例:String s="this is a demo of the getChars method.";
    char buf[]=new char[20];
    s.getChars(10,14,buf,0);
4、getBytes()
  替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。
5、toCharArray()
6、equals()和equalsIgnoreCase() 比较两个字符串
7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
  boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
  boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)
8、startsWith()和endsWith()  startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束
9、equals()和==
  equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
  例:String s1="Hello";
    String s2=new String(s1);
    s1.eauals(s2); //true
    s1==s2;//false
10、compareTo()和compareToIgnoreCase() 比较字符串
11、indexOf()和lastIndexOf()
  indexOf() 查找字符或者子串第一次出现的地方。
  lastIndexOf() 查找字符或者子串是后一次出现的地方。
12、substring()  它有两种形式,第一种是:String substring(int startIndex)
         第二种是:String substring(int startIndex,int endIndex)
strObj.substring(start,end)
说明:
     start指明子字符串的起始位置,该索引从0开始起算。
     end指明子字符串的结束位置,该索引从0开始起算。
     substring方法使用start和end两者中的较小值作为子字符串的起始点。如果start或end为NaN或者为负数,那么将其替换为0。
例如:
                    012345
     var str = "ABCDEF";
     str.substring(2,4);  // 或 str.substring(4,2);
结果:CD
strObj.substr(start[,length])
说明:
     start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。
     length在返回的子字符串中应包括的字符个数。
例如:
                     012345
     var  str = "ABCDEF";
     str.substr(2,4);
结果:CDEF
13、concat() 连接两个字符串
str.concat([string1[,string2...]])
说明:
string1,string2要和所有其他指定的字符串进行连接的String对象或文字。
例如:
     var str = "ABCDEF";
     str.concat("ABCDEF","ABC");
结果:ABCDEFABCDEFABC
14 、replace() 替换
  它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
  String replace(char original,char replacement)
  例如:String s="Hello".replace('l','w');
  第二种形式是用一个字符序列替换另一个字符序列,形式如下:
  String replace(CharSequence original,CharSequence replacement
15、trim() 去掉起始和结尾的空格
16、valueOf() 转换为字符串
17、toLowerCase() 转换为小写
例如:
      var  str = "ABCabc";
      str.toLowerCase();
结果:abcabc
18、toUpperCase() 转换为大写
例如:
      var  str = "ABCabc";
      str.toUpperCase();
结果:ABCABC
19、StringBuffer构造函数
  StringBuffer定义了三个构造函数:
  StringBuffer()
  StringBuffer(int size)
  StringBuffer(String str)
  StringBuffer(CharSequence chars)
  (1)、length()和capacity()    
    一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。  
  (2)、ensureCapacity() 设置缓冲区的大小
    void ensureCapacity(int capacity)
  (3)、setLength() 设置缓冲区的长度
    void setLength(int len)
  (4)、charAt()和setCharAt()
    char charAt(int where)
    void setCharAt(int where,char ch)
  (5)、getChars()
    void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  (6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
    例:int a=42;
      StringBuffer sb=new StringBuffer(40);
      String s=sb.append("a=").append(a).append("!").toString();
  (7)、insert() 插入字符串
    StringBuffer insert(int index,String str)
    StringBuffer insert(int index,char ch)
    StringBuffer insert(int index,Object obj)
    index指定将字符串插入到StringBuffer对象中的位置的下标。
  (8)、reverse() 颠倒StringBuffer对象中的字符
    StringBuffer reverse()
  (9)、delete()和deleteCharAt() 删除字符
    StringBuffer delete(int startIndex,int endIndex)
    StringBuffer deleteCharAt(int loc)
  (10)、replace() 替换
    StringBuffer replace(int startIndex,int endIndex,String str)
  (11)、substring() 截取子串
    String substring(int startIndex)
    String substring(int startIndex,int endIndex)
20.public String intern()
    返回字符串对象的规范化表示形式。
    一个初始时为空的字符串池,它由类 String 私有地维护。 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。
    否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。 它遵循对于任何两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true
    总结出来其意思如下:
    如果:s.intern()方法的时候,会将共享池中的字符串与外部的字符串(s)进行比较,如果共享池中有与之相等的字符串,则不会将外部的字符串放到共享池中的,返回的只是共享池中的字符串,
    如果不同则将外部字符串放入共享池中,并返回其字符串的句柄(引用)-- 这样做的好处就是能够节约空间
21.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。
strObj.charCodeAt(index)
说明:
index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。
如果指定位置没有字符,将返回NaN。
例如:
      var  str = "ABC";
      str.charCodeAt(0);
结果:65
22.fromCharCode方法从一些Unicode字符串中返回一个字符串。
String.fromCharCode([code1[,code2...]])
说明:
code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。
例如:
     String.fromCharCode(65,66,112);
结果:ABp
23.slice方法返回字符串的片段。
strObj.slice(start[,end])
说明:
      start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length+start处理,此处length为字符串的长度。
      end小标从0开始的strObj指定部分结束索引。如果end为负,将它作为length+end处理,此处length为字符串的长度。
例如:
      012345
      var  str = "ABCDEF";
      str.slice(2,4);
结果:CD
24.search方法返回与正则表达式查找内容匹配的第一个字符串的位置。
strObj.search(reExp)
说明:
reExp包含正则表达式模式和可用标志的正则表达式对象。
例如:
     var str = "ABCDECDF";
     str.search("CD");  // 或 str.search(/CD/i);
结果:2
25.将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
strObj.split([separator[,limit]])
说明:
separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit该值用来限制返回数组中的元素个数。
例如:
     var str = "AA BB CC DD EE FF";
    alert(str.split(" ",3));
结果:
     AA,BB,CC
0 0
原创粉丝点击