Google 致力于为黑人社区推动种族平等。查看具体举措

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