类别的修改字串方法 - 网路资源运用.ppt

类别的修改字串方法 - 网路资源运用

* 群組 (Grouping) 您也可以使用括號將一段規則組合起來, 搭配限制次數使用, 例如: * 群組 (Grouping) 其中以括號將 c\dc 組成群組, 因此整個規則描述的樣式就是先出現一個 a, 再出現 2 次 c\dc, 再出現一個 a 第 1 個執行結果中的 c1c 以及 c2c 都符合 c\dc 樣式 而第 2 個執行結果只有 c1c 符合 c\dc 樣式, 等於 c\dc 僅出現 1 次, 所以比對不相符 * 以字面常數指定樣式 如果要在程式中以字面常數指定樣式, 由於 Java 的編譯器會將 \ 視為跳脫序列的啟始字元 (例如 \t 表定位字元、\n 表換行字元、\\ 代表 \ 字元), 因此要使用預先定義的字元種類時, 就必須在前面多加一個 \, 以便讓 Java 編譯器將 \ 視為一般的字元, 例如: * 如果寫成這樣: 編譯時就會認為 \d 是一個不合法的跳脫序列 以字面常數指定樣式 * 10-4-3 replaceAll ( ) 方法 規則表示法除了可以用來比對字串以外, 也可以用來將字串中符合指定樣式的一段文字取代成另外一段文字, 可以極富彈性的方式進行字串的取代, 而不是僅能使用簡單的 replace() 方法 為了簡化, 將剛剛的 RegExTest.java 修改, 以方便測試 replaceAll() 方法: 10-4-3 replaceAl l () 方法 * replaceAl l () 方法 * * replaceAll ( ) 方法 這個程式會要求使者輸入原始的字串、要搜尋的樣式、以及要將搜尋到的字串片段取代成甚麼內容, 最後顯示取代後的結果 接下來的內容就以這個程式來測試 * 簡單取代 replaceAll() 最簡單的用法就是當成 replace() 方法使用, 以明確的字串內容當成樣式, 並進行取代: 因為搜尋的樣式是 111, 所以取代的結果就是將字串中的 111 取代掉 * 使用樣式進行取代 replaceAll() 最大的用處是可以使用規則表示法, 例如: 這裡搜尋的樣式是 \d+, 所以字串中的 111 以及 34 都符合這個樣式, 都會被取代為 數字 * 使用群組 有時候我們會希望取代的結果要包含原來被取代的那段文字, 這時就可以使用群組的功能, 例如: 其中要取代成 數字$1 中的 $1 的意思就是指比對相符的那段文字中, 和樣式中第 1 個群組相符的部分。以本例來說, 當 111 與 (\d+) 比對相符時, 第一個群組就是 (\d+), 與這個群組相符的就是 111 這段文字, 所以取代後的結果變成 數字111;相同的道理, 後面比對出 34 時, 就取代為 數字34 了 * 使用群組 依此類推, $2、$3、...自然是指第 2、3、....個群組了, 至於 $0 則是指比對出的整段文字, 例如: 規則表示法的功能非常強大, 詳細的說明可以參考 JDK 的說明文件 * * * StringBuffer reverse() 將整個字串的內容頭尾反轉。例如: * void setCharAt(int index, char ch) 將 index 所指定索引碼的字元取代成 ch 所指定的字元 請特別注意, 這是唯一一個更改了字串內容, 但卻沒有傳回自己的方法, 在使用時要特別小心 * void setCharAt(int index, char ch) * 其他方法 StringBuffer 也提供下列方法, 其用法和 String 類別的同名方法相同(請注意, 這些方法都不會更改到物件本身的內容, 也不會傳回 StringBuffer 物件) : char charAt (int index) void getChars (int srcBegin, int srcEnd, char[ ] dst, int dstBegin) int indexOf (String str) int indexOf (String str, int fromIndex) * 其他方法 int lastIndexOf (String str) int lastIndexOf (String str, int fromIndex) int length () String substring (int start) String substring (int start, int end) * 10-3-2 StringBuilder 類別 這個類別和 StringBuffer 的用途相同, 且提供的方法一模一樣, 唯一的差別就是此類別並不保證在多執行緒的環境下可以正常運作, 有關多執行緒, 請參考第15 章 如果使用字串的場合不會

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档