切割字符串

  • substr(start,length)表示从start位置开始,截取length长度的字符串
  • substring() 方法用于提取字符串中介于两个指定下标之间的字符。
  • split 将一个字符串分割为子字符串,然后将结果作为字符串数组返回
  • replace 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
  • indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
  • lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
    //含义:substr(start,length)表示从start位置开始,截取length长度的字符串
    
    substr(start,length)表示从start位置开始,截取length长度的字符串。
     
    var src="images/off_1.png";
    alert(src.substr(7,3));
     
    弹出值为:off
    //含义:substring(start,end)表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符
    
     /**
         *  substring 返回的是一个字符串
         * 
         *  String substring(int beginIndex) 
         *          返回一个新的字符串,它是此字符串的一个子字符串。 
         *  String substring(int beginIndex, int endIndex) 
         *          返回一个新字符串,它是此字符串的一个子字符串。 
         */
        public void SubstringDemo(){
            String str = "images/off_1.png";
            String str1 = str.substring(3);//下标是从0开始的
            System.out.println(str1);//ges/off_1.png
     
            String str2 = str.substring(7,10);//取3-7个字符 
            System.out.println(str2);//off
    //含义:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
    /**
         *  split 返回的是一个String类型的数组
         *      
         *  String[] split(String regex) 
         *      根据给定正则表达式的匹配拆分此字符串。 
         */
        public void SplitDemo(){
            String str = "dayDay[USp,goodGoodStudy";
          //String[] str1 = str.split("[US]");//根据 U或S来拆分字符串
            String[] str1 = str.split("US");    //根据 US这个整体来拆分字符串
            System.out.println(str1.length);
     
            for (String string : str1) {
                System.out.print(string+"\t");
            }
        }
    /*含义:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
    
    语法:stringObject.replace(regexp, replacement);
    
    参数:
    
    regexp:必需,要替换的模式的RegExp对象
    
    replacement:必需,替换文本或生成替换文本的函数
    
    返回值:
    
    一个新的字符串,用replacement替换了regexp的第一次匹配或所有匹配之后得到的。
    
    说明:
    
    字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。*/
        /**
         *  split 返回的是一个String类型的字符串
         *      
         *   String replace(char oldChar, char newChar) 
         *      返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 
         *  String replace(CharSequence target, CharSequence replacement) 
         *      使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。 
         *  String replaceAll(String regex, String replacement) 
         *      使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 
         *  String replaceFirst(String regex, String replacement) 
         *      使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 
         */
        public void ReplaceDemo(){
            String str = "dayDayUp,goodGoodStudy";
            String str1 = str.replace('d','Q');//严格区分大小写
            System.out.println(str1);
     
            String str2 = str.replace("d","");//-- 去除相应的字符串
            System.out.println(str2);
     
            String str3 = str.replace("day","DAY");//-- 替换相应的字符串
            System.out.println(str3);
        }
    }
    //含义:indexOf() 方法返回某个指定的字符串值在字符串中首次出现的位置(从左向右)。没有匹配的则返回-1,否则返回首次出现位置的字符串的下标值。
    var src="images/off_1.png";
    alert(src.indexOf('t'));
    alert(src.indexOf('i'));
    alert(src.indexOf('g'));
     
    弹出值依次为:-1,0,3

    indexOf() 方法有以下四种形式:

    • public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

    • public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

    • int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

    • int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

      1. String Str = new String("hello,this is a test"); 
      2. String SubStr1 = new String("is");
      3.  String SubStr2 = new String("test");  
      4.  System.out.print("查找字符i 第一次出现的位置 :" );
      5.  System.out.println(Str.indexOf( 'i' ));
      6.  System.out.print("从第10个位置查找字符 s 第一次出现的位置 :" );
      7.  System.out.println(Str.indexOf( 's', 10 ));
      8.  System.out.print("子字符串 SubStr1 第一次出现的位置:" );
      9.  System.out.println( Str.indexOf( SubStr1 ));
      10.  System.out.print("从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :" );
      11.  System.out.println( Str.indexOf( SubStr1, 11 ));
      12.  System.out.print("子字符串 SubStr2 第一次出现的位置 :" );
      13.  System.out.println(Str.indexOf( SubStr2 )); 
    //含义:lastIndexOf()方法返回从右向左出现某个字符或字符串的首个字符索引值(与indexOf相反)
    
    var src="images/off_1.png";
    alert(src.lastIndexOf('/'));
    alert(src.lastIndexOf('g'));
     
    弹出值依次为:6,15

     

posted on 2020-11-12 09:39  年夜饭  阅读(569)  评论(0)    收藏  举报

导航