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[]