QuotationAwareTokenizer

public class QuotationAwareTokenizer
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.QuotationAwareTokenizer


摘要

公用建構函式

QuotationAwareTokenizer()

公用方法

static String combineTokens(String... tokens)

執行 tokenizeLine(String) 的反向運算。

static String[] tokenizeLine(String line, String delim)
static String[] tokenizeLine(String line)

將字串權杖化,並以空格分隔。

static String[] tokenizeLine(String line, boolean logging)

將字串權杖化,並以空格分隔。

static String[] tokenizeLine(String line, String delim, boolean logging)

將字串切割成符號,並根據指定的分隔符號進行分割。

公用建構函式

QuotationAwareTokenizer

public QuotationAwareTokenizer ()

公用方法

combineTokens

public static String combineTokens (String... tokens)

執行 tokenizeLine(String) 的反向運算。
針對符記陣列,將符記合併至單一行。

傳回
String 由所有符記建立的 String

tokenizeLine

public static String[] tokenizeLine (String line, 
                String delim)

參數
line String

delim String

傳回
String[]

tokenizeLine

public static String[] tokenizeLine (String line)

將字串權杖化,並以空格分隔。不會在連續的未引號雙引號之間分隔。

另請參閱 tokenizeLine(String, String)

參數
line String

傳回
String[]

tokenizeLine

public static String[] tokenizeLine (String line, 
                boolean logging)

將字串權杖化,並以空格分隔。不會在連續的未引號雙引號之間分隔。

另請參閱 tokenizeLine(String, String)

參數
line String

logging boolean

傳回
String[]

tokenizeLine

public static String[] tokenizeLine (String line, 
                String delim, 
                boolean logging)

將字串切割成符號,並以指定的分隔符號分割。不會在連續的未引號雙引號之間分隔。

分詞器的運作方式:

  1. 將字串分割為「字元」,其中每個「字元」是逸出字元 (例如 \",即「\\\"") 或單一實體字元 (例如 f,即「f」)。
  2. 針對每個「角色」
    1. 如果是空格,請完成符記,除非我們正在引用
    2. 如果是引號,請將「我們正在引用」位元翻轉
    3. 否則,請將其加入要建構的權杖
  3. 在 EOL 中,我們通常不會將最終符號新增至 (符號) ERROR(/ArrayList)
    1. 如果最後一個「字元」是轉義字元,則擲回例外狀況;這不是有效的
    2. 如果我們正在引用內容中,則會擲回例外狀況,這不是有效的做法
    3. 否則,請將最終符記加到 (符記)
  4. 傳回 (符記) 的 String[] 版本

參數
line String:要將其轉為符記的 String

delim String:要分割的分隔符號

logging boolean:是否記錄作業

傳回
String[] 字串的符記化版本

擲回
IllegalArgumentException 如果無法剖析該行