stringbuffer類
stringbuffer又稱為可變字串行,它是乙個類似於 string 的字串緩衝區,通過某些方法呼叫可以改變該序列的長度和內容。它是乙個容器,容器中可以裝很多字串。並且能夠對其中的字串進行各種操作。
方法:
package效果顯示:com.oricle.stringbuffer;
public
class
stringbuffer
}
正規表示式
正規表示式(英語:regular expression,在**中常簡寫為regex)。
正規表示式是乙個字串,使用單個字串來描述、用來定義匹配規則,匹配一系列符合某個句法規則的字串。在開發中,正規表示式通常被用來檢索、替換那些符合某個規則的文字。在pattern類中有正規表示式的的規則定義,正規表示式中明確區分大小寫字母。
正規表示式語法規則:
字元:x
含義:代表的是字元x
例如:匹配規則為"a",那麼需要匹配的字串內容就是 」a」
字元:\\
含義:代表的是反斜線字元'\'
例如:匹配規則為"\\",那麼需要匹配的字串內容就是 」\」
字元:\t
含義:製表符
例如:匹配規則為"\t" ,那麼對應的效果就是產生乙個製表符的空間
字元:\n
含義:換行符
字元:\r
含義:回車符
字元類:[abc]
含義:代表的是字元a、b 或 c
例如:匹配規則為"[abc]",那麼需要匹配的內容就是字元a,或者字元b,或字元c的乙個
字元類:[^abc]
含義:代表的是除了 a、b 或 c以外的任何字元
例如:匹配規則為"[^abc]",那麼需要匹配的內容就是不是字元a,或者不是字元b,或不是字元c的任意乙個字元
字元類:[a-za-z]
含義:代表的是a 到 z 或 a 到 z,兩頭的字母包括在內
例如:匹配規則為"[a-za-z]",那麼需要匹配的是乙個大寫或者小寫字母
字元類:[0-9]
含義:代表的是 0到9數字,兩頭的數字包括在內
例如:匹配規則為"[0-9]",那麼需要匹配的是乙個數字
字元類:[a-za-z_0-9]
含義:代表的字母或者數字或者下劃線(即單詞字元)
例如:匹配規則為" [a-za-z_0-9] ",那麼需要匹配的是乙個字母或者是乙個數字或乙個下滑線
預定義字元類:.
含義:代表的是任何字元
例如:匹配規則為" . ",那麼需要匹配的是乙個任意字元。如果,就想使用 . 的話,使用匹配規則"\\."來實現
預定義字元類:\d
含義:代表的是 0到9數字,兩頭的數字包括在內,相當於[0-9]
例如:匹配規則為"\d ",那麼需要匹配的是乙個數字
預定義字元類:\w
含義:代表的字母或者數字或者下劃線(即單詞字元),相當於[a-za-z_0-9]
例如:匹配規則為"\w ",,那麼需要匹配的是乙個字母或者是乙個數字或乙個下滑線
邊界匹配器:^
含義:代表的是行的開頭
例如:匹配規則為^[abc][0-9]$,那麼需要匹配的內容從[abc]這個位置開始, 相當於左雙引號
邊界匹配器:$
含義:代表的是行的結尾
例如:匹配規則為^[abc][0-9]$,那麼需要匹配的內容以[0-9]這個結束, 相當於右雙引號
邊界匹配器:\b
含義:代表的是單詞邊界
例如:匹配規則為"\b[abc]\b",那麼代表的是字母a或b或c的左右兩邊需要的是非單詞字元([a-za-z_0-9])
數量詞:x?
含義:代表的是x出現一次或一次也沒有
例如:匹配規則為"a?",那麼需要匹配的內容是乙個字元a,或者乙個a都沒有
數量詞:x*
含義:代表的是x出現零次或多次
例如:匹配規則為"a*",那麼需要匹配的內容是多個字元a,或者乙個a都沒有
數量詞:x+
含義:代表的是x出現一次或多次
例如:匹配規則為"a+",那麼需要匹配的內容是多個字元a,或者乙個a
數量詞:x
含義:代表的是x出現恰好 n 次
例如:匹配規則為"a",那麼需要匹配的內容是5個字元a
數量詞:x
含義:代表的是x出現至少 n 次
例如:匹配規則為"a",那麼需要匹配的內容是最少有5個字元a
數量詞:x
含義:代表的是x出現至少 n 次,但是不超過 m 次
例如:匹配規則為"a",那麼需要匹配的內容是有5個字元a 到 8個字元a之間
正規表示式常用方法
例子:matches例子:
//split例子:11位的手機號碼,第1位為1,第2位為3、4、5、7、8中的乙個,
//後面9位為0到9之間的任意數字。
string regex="1[34578][0-9]";
string str ="13855555555";
system.out.println(str.matches(regex));
//true
/*校驗qq號碼.
1: 要求必須是5-15位數字
2: 0不能開頭
*/string r="[1-9][0-9]";
string w="1972680739";
system.out.println(w.matches(r));
//true
//replaceall例子:舉例:分割出字串中的的數字
//**演示:
string s = "18-22-40-65";
string regex = "-";
string result =s.split(regex);
//**演示:
string s = "18 22 40 65";
string regex = " ";
string result = s.split(regex);
//正規表示式練習舉例:把文字中的數字替換成*
//**演示:
string s = "hello12345world6789012";
string regex = "[0-9]";
string result = s.replaceall(regex, "*");
//匹配正確的數字
匹配規則:
匹配正整數:」\\d+」
匹配正小數:」\\d+\\.\\d+」
匹配負整數:」-\\d+」
匹配負小數:」-\\d+\\.\\d+」
匹配保留兩位小數的正數:」\\d+\\.\\d」
匹配保留1-3位小數的正數:」\\d+\\.\\d」
//匹配合法的郵箱
匹配規則:
」[a-za-z_0-9]+@[a-za-z_0-9]+(\\.[a-za-z_0-9]+)+」
」\\w+@\\w+(\\.\\w+)+」
//獲取ip位址(192.168.1.100)中的每段數字
匹配規則:
」\\.」
字串緩衝區
在學習string類時,api中說字串緩衝區支援可變的字串,什麼是字串緩衝區呢?接下來我們來研究下字串緩衝區。查閱stringbuffer的api,執行緒安全的可變字串行。乙個類似於 string 的字串緩衝區,但不能修改。雖然在任意時間點上它都包含某種特定的字串行,但通過某些方法呼叫可以改變該序列...
StringBuffer字串緩衝區
構造乙個其中不帶字元的字串緩衝區,初始容量為 16 個字元。特點 1 可以對字串內容進行修改。2 是乙個容器。3 是可變長度的。4 緩衝區中可以儲存任意型別的資料。5 最終需要變成字串。容器通常具備一些固定的方法 1,新增。stringbuffer insert index,data 在指定位置插入...
Java之字串和字串緩衝區
一 字串 字串用於描述字串常用事物,是乙個特殊的物件,它的最大的特點是一旦初始化就不可以被改變,存在於常量池中。二 字串的方法 1 獲取 1 length 字串包含的字元數,既字串長度,返回值型別為int。2 charat int index 根據位置獲取位置上的某個字串,返回值型別為char,當i...