1. 程式人生 > >Java appendReplacement 和 appendTail 方法

Java appendReplacement 和 appendTail 方法

Matcher 類也提供了appendReplacement 和appendTail 方法用於文字替換:

看下面的例子來解釋這個功能:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
   private static String REGEX = "a*b";
   private static String INPUT = "aabfooaabfooabfoob";
   private static String REPLACE = "-";
   public
static void main(String[] args) { Pattern p = Pattern.compile(REGEX); // 獲取 matcher 物件 Matcher m = p.matcher(INPUT); StringBuffer sb = new StringBuffer(); while(m.find()){ m.appendReplacement(sb,REPLACE); } m.appendTail(sb); System.out.println(sb.toString()); } }

以上例項編譯執行結果如下:

-foo-foo-foo-

相關推薦

Java appendReplacement appendTail 方法

Matcher 類也提供了appendReplacement 和appendTail 方法用於文字替換: 看下面的例子來解釋這個功能: import java.util.regex.Matcher; import java.util.regex.Patt

Java Matcher類appendReplacementappendTail方法的區別

public static void main(String[] args) { String str = "測試替換手機號15212793109哇哈哈18909801234歐米茄"; Syst

java :equals()hashcode()方法的結合使用

pro 解決 java lin testin ren use main 結合 哈希表這個數據結構想必大多數人都不陌生,而且在很多地方都會利用到hash表來提高查找效率。在Java的Object類中有一個方法: 1 public native int hashCo

JAVA hashCodeequals方法詳解

hashCode和equals方法都是Object基類的方法 先看一個例子 public class Studeng { private Integer sid; private String name; public

java字串常用方法總結

Java字串類(java.lang.String) String 類的常用的建立方式一般兩種 1、String s1=”abc”; 2、String s2=new String(“abc”); 這兩中方式區別在於 : 1中先是在常量池檢查是否有這個字串

小白過來看!!!java的==equals()方法一樣嘛?equals()hashCode()到底有何聯絡?

很多人都知道物件a,物件b     a==b比較的是兩者之間的記憶體地址,a.equals(b)=true 比較的是a與b的字串內容。 但其實單單隻知道這些只能說是初學者必須知道的東西,下面根據我淺薄的知識來給小白們擴充擴充,當然,歡迎大佬們來補充,我還有很多需要學習的地方

java構造方法

類:類是具有相同屬性和行為的一組物件的集合與抽象。 物件:物件是一個具體存在的實體,他是類的例項化 [修飾符] class 類名[繼承][介面]{0—n個屬性0—n個方法public class Pereson中(Person是類名)//屬性public int armLe

Java基礎——"=="equals方法究竟有什麼區別?

==操作符專門用來比較兩個變數的值是否相等,也就是用於比較變數所對應的記憶體中所儲存的數值是否相同,要比較兩個基本型別的資料或兩個引用變數是否相等,只能用==操作符。 如果一個變數指向的資料是物件型別

java wait()sleep()方法之經驗談

sleep 是執行緒類(Thread)的方法,導致此執行緒暫停執行指定時間,給執行機會給其他執行緒,但是監控狀態依然保持,到時後會自動恢復。呼叫sleep 不會釋放物件鎖。 wait 是Object 類的方法,對此物件呼叫wait 方法導致本執行緒放棄物件鎖,進入等待此物

Java編譯器如何生成重載覆蓋方法代碼

hang java sim 如何 oct imu pla 編譯 poc %E5%AE%9E%E9%AA%8C10%EF%BC%9AProblem%20C%3A%20STL%E2%80%94%E2%80%94%E5%91%B5%E5%91%B5%E5%9E%8B%E8%87%

Java 異常的Exception e中的egetMessage()toString()方法的區別

catch area color sys 區別 ssa clas testin tin Exception e中e的getMessage()和toString()方法的區別: 示例代碼1: public class TestInfo { private stati

Android Studio出現java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException的總結解決方法

logo ide roc for deb execution 所有 不同類 util 1. Error:Execution failed for task ‘mergeDebugAndroidTestResources‘.  > Error: java.util.c

JAVA 面向對象補充[toString方法equals方法]

和equal ring cnblogs 技術分享 tostring 取消 equal ima nbsp 一.toString 方法 這裏的toString 和 C#的To string 是兩回事. JAVA中to string : Object類中都有一個to stri

java課堂筆記------toString方法equals方法

引用類型 logs obj blog () str pre ava 當我 * 重寫toString方法 * 當我們需要使用當前類的toString方法時,通常我們 * 就需要重寫該方法。具體返回字符串的格式沒有嚴格 * 要求,可

Java Thread中,run方法start方法的區別

bsp 區別 繼續 時間片 ron thread類 等待 nbsp art 兩種方法的區別: 1.start方法 用 start方法來啟動線程,是真正實現了多線程, 通過調用Thread類的start()方法來啟動一個線程,這時此線程處於就緒

Java中對域靜態方法的訪問不具有多態性

ext 轉型 highlight .get 判斷 fin color icm true 1.將方法調用同方法主體關聯起來被稱為 2.編譯期綁定(靜態)是在程序編譯階段就確定了引用對象的類型 3.運行期綁定(動態綁定)是指在執行期間判斷所引用對象的實際類型,根據其實際的類型調

構造方法一般方法的區別(面試)-----java基礎知識總結

col 進行 span round 構造方法 基礎知識 fff font size 構造方法:對象創建時,就會調用與之對應的構造方法,對對象進行初始化; 一般方法:對象創建後,需要方法功能時才會調用。 構造方法,在對象創建時,會調用且只調用一次。

java為什麽要重寫hashCodeequals方法

有時 不同 遞歸 步驟 原生 下標 set .com 底層 如果不被重寫(原生)的hashCode和equals是什麽樣的? 不被重寫(原生)的hashCode值是根據內存地址換算出來的一個值。 不被重寫(原生)的equals方法是嚴格判斷一個對象

Java之hashCode的作用equals方法的重構規則

ide return 一點 eset log 什麽 bsp amp person 這個是博主對hashcode的初步理解,以後加深了會再來更新: 1、hashcode是什麽? hashcode是對象的散列碼,不同的對象幾乎不一樣,說幾乎是因為還是可以一樣的。 特點:每一個對

java抽象設計抽象方法

java抽象設計和抽象方法/*抽象設計和抽象方法 使用abstract修飾且沒有方法體的方法,稱為抽象方法 */ /* //圖形 class Graph { public Double getAres() { return 0.0; } } //圓 class Cir