stringOf()、lastIndexOf()和Substring()用法
一、lastIndexOf()
-
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是字符串截取,返回值是一個截取后的字符串。
*/