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 如果無法剖析該行