java中substring()、charAt()、indexOf() (2013-05-05-bd 写的日志迁移

 substring

1. public String substring(int beginIndex)     返回一个新的字符串,它是此字符串的一个子字符串,

    该子字符串始于指定索引处的字符,一直到此字符串末尾。

    参数:
    beginIndex - 开始处的索引(包括)。

 返回:
    指定的子字符串。

    例如:
  "unhappy".substring(2) returns "happy"
  "Harbison".substring(3) returns "bison"
  "emptiness".substring(9) returns "" (an empty string)

2. public String substring(int beginIndex,int length)   返回一个新字符串,它是此字符串的一个子字符串,

    该子字符串从指定的 beginIndex 处开始, length:表示子字符串的长度。

   参数:

    beginIndex - 开始处的索引(包括)。
    endindex 结尾处索引(不包括)。

   返回:
    指定的子字符串。

   示例:
  "hamburger".substring(4,8) returns "urge"
  "smiles".substring(1,5) returns "mile"

 3.  <script type="text/javascript"> var str="Hello world!"  document.write(str.substring(1,3));  </script>

     // 上面返回字符串:"ell";  str.substring(1,1)   // 返回e 

     str.substring(1)  // 返回"ello world";

     还有此函数中会出现奇怪的现象,当出现str.substring(5,0);  这又是怎么回事,

     不过返回的是"hello",  str.substring(5,1)  // 返回"ello",截去了第一位,返回余下的. 

     可见substring(start,end),可以有不同的说明,即start可以是要返回的长度,end是所要去掉的多少个字符

     (从首位开始).

     char charAt(int n)得到参数n指定的位置上的单个字符。当前对象实体中的字符串序列的第一个位置为0,

     第二个位置为1,以此类推。n的值必须是非负的一个数。

     字符串调用charAt()方法,提取字符串中的某一个字符,例如:String st="123456"   st.charAt(3)=4

     比如"abcde"调用chatAt(0) 这个0就是该字符串中某一字符的索引返回a调用chatAt(1) 返回b.

 

     System.out.println("az123z1234z12345z123456z1234567z12345678z449fk".indexOf('z',2));   

     str.indexOf(s1,index)

     这个函数的用法是查找字符串中的字符 s1 从第 index 个开始查找,返回所在字符的索引是这个意思吗?

     但是不明白为什么 indexOf('z',2) 和 indexOf('z',3) 返回的都是5呢,首先,indexOf('Z',2)的2代表的是从你的

     字符串第3[请注意是3,它已经跳过了第一个Z]个字符开始找'Z'字符,找到后返回'Z'字符的位置,请注意,

     这个时候返回的位置数 [你这里是5]又是从0位置开始计数的.所以indexOf('Z',3)找到的那个Z也是和

     indexOf('Z',2) 找到的Z的位置是一样的.

     例如:
                String s ="java is a"+"platform independent language";
                System.out.println("index of t="+s.indexOf('t')); // 12
                System.out.println("last index of t="+s.lastIndexOf('t'));  // 27
                System.out.println("index of(t,10)="+s.indexOf('t',10));  // 12 
                System.out.println("last index of(t,60=)"+s.lastIndexOf('t',60));  // 27 

 

posted @ 2018-07-26 21:42  假如会点代码  阅读(318)  评论(0编辑  收藏  举报