字串替換replace和replaceAll區別
阿新 • • 發佈:2019-02-12
package test; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apache.lucene.search.Sort; import org.apache.solr.handler.component.DebugComponent; import org.apache.solr.handler.component.FacetComponent; import org.apache.solr.handler.component.HighlightComponent; import org.apache.solr.handler.component.MoreLikeThisComponent; import org.apache.solr.handler.component.QueryComponent; import org.apache.solr.handler.component.ResponseBuilder; import org.apache.solr.handler.component.SearchComponent; import org.apache.solr.handler.component.SearchHandler; import org.apache.solr.handler.component.StatsComponent; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; public class RequestHandlerOfMine { public static void main(String[] args) { // 還有一點注意:執行了替換操作後,源字串的內容是沒有發生改變的,需用新變數來取 String test=new String("\\a\\b"); System.out.println(test); String replaceAllStr= test.replaceAll("\\\\", "\\\\\\\\");//replaceAll兩個引數都是基於正則匹配的 /*'\'在java中是一個轉義字元,所以需要用兩個代表一個,'\'也是正則表示式中的轉義字元,需要用兩個代表一個。 所以:\\\\被java轉換成\\,\\又被正則表示式轉換成\。 */ String replaceFirstStr= test.replaceFirst("\\\\", "\\\\\\\\"); String replaceStr =test.replace("\\", "\\\\");//repalce引數是基於字串的 System.out.println(replaceAllStr); System.out.println("------只替換了第一個--------"); System.out.println(replaceFirstStr); System.out.println(replaceStr); ArrayList<String> arrayList =new ArrayList(); arrayList.subList(0, 9); // repalce與replaceAll都是全部替換 }
參考文章: