关于JAVA中substring()和indexOf()的用法

来源:互联网 发布:管家婆软件好用吗 编辑:程序博客网 时间:2024/06/05 17:05

一、indexOf()的用法(查询某个字段在字符串中所处的位置)

经典实例:

String x = "sticky question";
String y = "sti";

①x.indexOf(y); // returns 0
默认从第0位开始查
②x.indexOf(y, 1); // returns 10
从第一位开始查,发现从第十位开始的三个字符是查的 返回位置 10
③x.indexOf(y, 10); // returns 10
从第十位开始查 同上
④x.indexOf(y, 11); // returns -1
从第十一为开始查 没有发现 返回-1

一、substring()的用法(截取字符串)

注:

1.substring中的索引都是从0开始;

2.str=str.substring(int beginIndex);截取str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;

3.str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,(:不取endIndex这个数)并将其赋值给str;

简单实例:

String str;

str=str.substring(int beginIndex);

str=str.substring(int beginIndex,int endIndex);

demo:

class Test 
{
 public static void main(String[] args) 
 {
  String s1 ="1234567890abcdefgh";
  s1 = s1.substring(10);
  System.out.println(s1);
 }
}

运行结果:abcdefgh

class Test 
{
 public static void main(String[] args) 
 {
  String s1 ="1234567890abcdefgh";
  s1 = s1.substring(0,9);
  System.out.println(s1);
 }
}

运行结果:123456789

下面是个典型例子:

public class StringDemo{

public static void main(String agrs[]){
   
   String str="this is my original string";
   
   String toDelete=" original";
  
   if(str.startsWith(toDelete))
    str=str.substring(toDelete.length());
   else
    if(str.endsWith(toDelete))
     str=str.substring(0, str.length()-toDelete.length());
    else
    {
     int index=str.indexOf(toDelete);
     if(index!=-1)
     {
      String str1=str.substring(0, index);
      String str2=str.substring(index+toDelete.length());
      str=str1+str2;
     }
     else
      System.out.println("string /""+toDelete+"/" not found");
    }
   System.out.println(str);
}
}

运行结果:

this is my string

原创粉丝点击