字符串替换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都是全部替换
    }



参考文章:

http://xvshell.iteye.com/blog/1962661



你可能感兴趣的:(replaceAll)