1. 程式人生 > >字串替換replace和replaceAll區別

字串替換replace和replaceAll區別

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都是全部替換
    }

參考文章: