QuotationAwareTokenizer

public class QuotationAwareTokenizer
extends 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)

標記字符串,在空格上拆分。

公共構造函數

QuotationAwareTokenizer

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,我們通常還沒有添加最終令牌的(標記) ERROR(/ArrayList)
    1. 如果最後一個“字符”是轉義字符,則拋出異常;這是無效的
    2. 如果我們在引用中間,拋出一個異常;這是無效的
    3. 否則,將最終令牌添加到 (tokens)
  4. 返回(令牌)的 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[]