標籤:
Java中的substring()方法有兩個方法的重載,一個帶一個參數的,一個帶兩個參數的。
第一種寫法: substring(n);//從索引是n的字元開始截取,條件(n>=0,n<字串長度),第一個字元的索引是0 。n作為第一個參數,必須小於字串長度,因為這邊是從包含n下邊開始截取的,所以n肯定不能等於字串整個位元長度,而下邊的m作為第二個參數才可以等於。
第二種寫法: substring(n,m);//從n開始,截取m-n個字元,條件(n<m,m<=字串長度)
通俗點:
str.substring(int begin,int end); 從字串開始位置(開始位置即為下標,下標是從0開始)截取到結束位置,前包含,後不包含!
String sql = "abcdefg";
String a = sql.substring(0,4);
System.out.println(a);
結果:abcd
下標從0開始
下邊是mysql字串截取 規則對比:
常用的mysql截取函數有:left(), right(), substring(), substring_index()
下面來一一說明一下:
1.左截取left(str, length)
說明:left(被截取欄位,截取長度)
即從str字串最左邊開始截取 length 個長度字元。
2.右截取right(str, length)
說明:right(被截取欄位,截取長度)
即從str字串最右邊開始截取 length 個長度字元。
3.substring(str, pos); substring(str, pos, len)
說明:substring(被截取欄位,從第幾位開始截取) substring(被截取欄位,從第幾位開始截取,截取長度)
沒有len參數的即字串從pos位元開始(字串pos位元是指整個字串是由幾個字元組成,即由多少位字母組成。也即pos是從1開始不是0,這和java的截取函數substring()中的從下標(從0開始) 截取規則不一樣。而且是包含此位元對應字元開始截取。如果pos為負數,表示是從最右邊向左開始數pos個位元的字元,然後向後截取),一直截取到最後;有len參數的就是從pos位元開始,向後截取len長度(從pos位置作為第一個開始數)。
4.substring_index(str,delim,count)
說明:substring_index(被截取欄位,關鍵字,關鍵字出現的次數),如果“關鍵字出現的次數”是正的如a,表明是字串從最左邊開始截取,直到第a個“關鍵字”處。如果“關鍵字出現的次數”是負數的如 負a,表明是字串從最右邊開始截取,直到從右向左開始數,第a個“關鍵字”處。
java 字串截取 - 最後帶上mysql字串截取比較