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

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

static String[] tokenizeLine(String line, 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, 
                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 如果無法剖析該行

tokenizeLine

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

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

另請參閱 tokenizeLine(String, String)

參數
line String

logging boolean

傳回
String[]