截取字符串的三種方法


stringOf()、lastIndexOf()和Substring()用法

一、lastIndexOf()

  1. string str = "abcdefg";
    str = str.Substring( 0, str.LastIndexOf("c"));
    Response.Write(str);

輸出效果:
  

lastIndexOf(“c”) 就是截取c前面的字符串。

2、根據下橫線截取字符串的代碼

(1)String str = "125aa_13_";

if (StringUtils.isNotEmpty(str)) {
str = str.substring(0, str.lastIndexOf("_") != -1 ?
str.lastIndexOf("_") :str.length());
}
下橫線不在首位:

輸出結果:

 

下橫線在首位:

當字符串為 

 輸出結果為:

 lastIndexOf(“_”)從后到前,截取“_”之前的所有元素,如果“_”在首位,則輸出結果為空。

 indexOf和lastIndexOf的區別

  •   indexOf 和 lastIndexOf 都是索引文件
  •   indexOf 是查某個指定的字符串在字符串首次出現的位置(索引值)(從左往右)
  •        lastIndexOf 是查某個指定的字符串在字符最后一次出現的位置(索引值)(從右往左)
  • * lastIndexOf()方法雖然是從后往前搜索,但返回的位置是從前開始數的。

 

二、Substring()方法返回字符串的子字符串。

語法

public String substring(int beginIndex)  public String substring(int beginIndex, int endIndex)

  • beginIndex -- 起始索引(包括), 索引從 0 開始。

  • endIndex -- 結束索引(不包括)

 

string qian = null;
string hou = null;
string str = "abcdefg";
qian = str.Substring(0, 1);//從第一個開始截取,共截取一位
hou = str.Substring(str.Length - 1, 1);//從最后一個開始截取,共截取一位
Response.Write(qian + "***" + hou);

 

輸出效果:

 

 

//編寫一個Java程序,完成以下功能:

// 聲明一個名為s的String對象,並使它的內容是"Under the sunshine";

// 打印整個字符串。

// 打印字符串的長度/*長度包括空格,字母等的長度*/

// 打印字符串的第一個字符

// 打印字符串的最后一個字符

// 方法打印字符串的第一個單詞。

public class Student{

 public static void main(String[] args) {

   String s = "Under the sunshine";

        int len = s.length();

        char charAt=s.charAt(0);/*0是下標,表示第1個,以此類推其它的*/

        char charAt2=s.charAt(len-1);/*len-1是下標,表示第len個

        char只能表示單個字符

        千萬不要寫len這個下標,會報錯,因為不存在len這個下標,下標最大為len-1*/

        System.out.println(s);

        System.out.println( "Under the sunshine長度 : " + len );

        System.out.println( "Under the sunshine的第一個字符 : " + charAt ); 

        System.out.println( "Under the sunshine的最后一個字符 : " + charAt2 );

        String a=s.substring(s.lastIndexOf(" ")+1);

        String a1=s.substring(s.lastIndexOf(" "));

        String a2=s.substring(s.lastIndexOf(" ")+2);

        String a3=s.substring(s.lastIndexOf(" ")-1);

System.out.println("字符串的最后一個單詞"+a);

System.out.println("字符串的最后一個單詞"+a1);

System.out.println("字符串的最后一個單詞減去最后空格后一個字母"+a2);

System.out.println("字符串的最后一個單詞加上最后空格前一個字母"+a3);

String b=s.substring(0,5);

System.out.println("字符串的第一個單詞:"+b);

/*IndexOf、LastIndexOf都是返回一個位置,是個整數值;找不到都會自動返回 -1;

 * 一般來說,用戶自定義的子函數如果返回值為 0,表示邏輯值為假值,

 * 若返回 1,表示邏輯值為真,返回 -1 表示失敗、或者是結束狀態

IndexOf是從左向右查,LastIndexOf是從右向左查,

不管是IndexOf還是LastIndexOf,索引序列都是從左到右的(起始值是0)

Substring是字符串截取,返回值是一個截取后的字符串。

*/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM