QuoteAwareTokenizer

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, String delim, boolean logging)

將字串進行標記,並按指定的分隔符號進行分割。

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

將字串進行標記,並按空格分割。

公共構造函數

QuoteAwareTokenizer

public QuotationAwareTokenizer ()

公共方法

組合代幣

public static String combineTokens (String... tokens)

執行tokenizeLine(String)的相反操作。
給定標記數組,將它們組合成一行。

退貨
String由所有標記創建的String

標記化線

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

參數
line String

delim String

退貨
String[]

標記化線

public static String[] tokenizeLine (String line)

將字串進行標記,並按空格分割。不在連續的、不帶引號的雙引號之間進行分割。

另請參見tokenizeLine(String, String)

參數
line String

退貨
String[]

標記化線

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

將字串進行標記,並按指定的分隔符號進行分割。不在連續的、不帶引號的雙引號之間進行分割。

分詞器的工作原理:

  1. 將字串拆分為“字符”,其中每個“字符”要么是轉義字符,如 \"(即“\\\”),要么是單個真實字符,如 f(只是“f”)。
  2. 對於每個“角色”
    1. 如果是空格,則完成一個標記,除非我們被引用
    2. 如果是引號,請翻轉「我們被引用」位
    3. 否則,將其添加到正在構建的令牌中
  3. 在 EOL 時,我們通常不會將最終令牌新增至 (tokens) ERROR(/ArrayList)
    1. 如果最後一個「字符」是轉義字符,則拋出異常;那無效
    2. 如果我們處於引用的中間,則拋出異常;那無效
    3. 否則,將最終令牌新增至 (tokens)
  4. 傳回 (tokens) 的 String[] 版本

參數
line String :要標記化的String

delim String : 分割的分隔符

logging boolean : 是否記錄操作

退貨
String[]字串的標記化版本

投擲
IllegalArgumentException如果無法解析該行

標記化線

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

將字串進行標記,並按空格分割。不在連續的、不帶引號的雙引號之間進行分割。

另請參見tokenizeLine(String, String)

參數
line String

logging boolean

退貨
String[]