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