QuotationAwareTokenizer
public class QuotationAwareTokenizer
extends Object
對象 | |
↳ | com.android.tradefed.util.QuotationAwareTokenizer |
概括
公共構造函數 | |
---|---|
QuotationAwareTokenizer () |
公共方法 | |
---|---|
static String | combineTokens (String... tokens) 執行的反向 |
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)
標記字符串,在指定的分隔符上拆分。不會在連續的、未加引號的雙引號之間拆分。
分詞器的工作原理:
- 將字符串拆分為“字符”,其中每個“字符”要么是像 \" 這樣的轉義字符(即 "\\\""),要么是像 f 這樣的單個真實字符(只是 "f")。
- 對於每個“字符”
- 如果它是一個空格,除非我們被引用,否則完成一個標記
- 如果是引號,則翻轉“我們被引用”位
- 否則,將其添加到正在構建的令牌中
- 在EOL,我們通常還沒有添加最終令牌的(標記)
ERROR(/ArrayList)
- 如果最後一個“字符”是轉義字符,則拋出異常;這是無效的
- 如果我們在引用中間,拋出一個異常;這是無效的
- 否則,將最終令牌添加到 (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[] |