Guava-1.20類Splitter

全路徑名:

com.google.common.base
** Splitter**

聲明

@GwtCompatible(emulated=true)
public final class Splitter extends Object

簡(jiǎn)介

拆分字符串。
該類的實(shí)例是不可變的。構(gòu)造方法對(duì)于引用的實(shí)例沒有效果, 必須使用構(gòu)造方法返回的splitter實(shí)例。

方法

on
public static Splitter on(char separator)
public static Splitter on(final CharMatcher separatorMatcher)
public static Splitter on(final String separator)

@GwtIncompatible // java.util.regex
  public static Splitter on(Pattern separatorPattern)

 private static Splitter on(final CommonPattern separatorPattern)

返回一個(gè)splitter,用來拆分字符串。

onPattern
 @GwtIncompatible // java.util.regex
  public static Splitter onPattern(String separatorPattern)

返回一個(gè)splitter拆分字符串。用正則表達(dá)式作為參數(shù)。

fixedLength
public static Splitter fixedLength(final int length)

按給定長(zhǎng)度length拆分字符串。Splitter.fixedLength(2).split("abcde")返回["ab", "cd", "e"]

omitEmptyStrings
public Splitter omitEmptyStrings() 

拆分字符串后,自動(dòng)去掉空的字符串。

limit
public Splitter limit(int limit)

拆分指定的次數(shù)之后不拆了。

trimResults
public Splitter trimResults()
public Splitter trimResults(CharMatcher trimmer)

拆了之后trim一下空格或者其他指定的字符。

split
public Iterable<String> split(final CharSequence sequence)

withKeyValueSeparator
public MapSplitter withKeyValueSeparator(String separator)
public MapSplitter withKeyValueSeparator(char separator)
public MapSplitter withKeyValueSeparator(Splitter keyValueSplitter)

基于這個(gè)splitter返回一個(gè)MapSplitter,將entries拆成keys和values。

例子

public class SplitterTest {
    public static void main(String[] args) {
        String string = "a,,b1,    c,,,d";
        // 默認(rèn)拆
        Iterable<String> result = Splitter.on(',').split(string);
        System.out.println(result);// [a, , b1,     c, , , d]
        // 拆之后去掉空的
        result = Splitter.on(',').omitEmptyStrings().split(string);
        System.out.println(result);// [a, b1,     c, d]
        // 拆之后去掉頭尾空格
        result = Splitter.on(',').trimResults().split(string);
        System.out.println(result);// [a, , b1, c, , , d]
        // 拆之后去掉空的,還去掉空格
        result = Splitter.on(',').omitEmptyStrings().trimResults().split(string);
        System.out.println(result);// [a, b1, c, d]
        // 拆之后去掉數(shù)字
        result = Splitter.on(',').omitEmptyStrings().trimResults(CharMatcher.digit()).split(string);
        System.out.println(result);// [a, b,     c, d]
    }
}

注意:
例子中的輸出逗號(hào)之后有空格是因?yàn)镾plitter中的split方法返回的Iterable<String>被重寫了toString方法:

@Override
      public String toString() {
        return Joiner.on(", ")
            .appendTo(new StringBuilder().append('['), this)
            .append(']')
            .toString();
      }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,689評(píng)論 0 4
  • 一、Java 簡(jiǎn)介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,569評(píng)論 1 44
  • ??引用類型的值(對(duì)象)是引用類型的一個(gè)實(shí)例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,221評(píng)論 0 1
  • 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的 JavaScript 類型 使用基本類型和基本包裝類型 引用類型的...
    悶油瓶小張閱讀 789評(píng)論 0 0
  • 我想要一個(gè)貼穩(wěn)的親吻 而非兩瓣游離的肉隨意觸碰 我想擁有被愛人雙手奉上 一顆鮮紅的心臟 而非從拌著鍋灰的柴油中撈起...
    f3494c632b49閱讀 444評(píng)論 25 11

友情鏈接更多精彩內(nèi)容