QuotationAwareTokenizer

public class QuotationAwareTokenizer
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.QuotationAwareTokenizer


סיכום

‫constructors ציבוריים

QuotationAwareTokenizer()

‫methods ציבוריים

static String combineTokens(String... tokens)

מבצעים את הפעולה ההפוכה לזו של tokenizeLine(String).

static String[] tokenizeLine(String line, String delim)
static String[] tokenizeLine(String line)

מפצל את המחרוזת לטוקנים לפי רווחים.

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

מפצל את המחרוזת לטוקנים לפי רווחים.

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

הפונקציה יוצרת טוקנים מהמחרוזת, ומפצלת אותה לפי המפריד שצוין.

‫constructors ציבוריים

QuotationAwareTokenizer

public QuotationAwareTokenizer ()

‫methods ציבוריים

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

מפצל את המחרוזת לטוקנים לפי רווחים. לא מתבצע פיצול בין מירכאות כפולות עוקבות שלא מופיעות בתוך מירכאות.

מידע נוסף מופיע ב-tokenizeLine(String,String)

פרמטרים
line String

logging boolean

החזרות
String[]

tokenizeLine

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

מפצלת את המחרוזת לטוקנים לפי המפריד שצוין. לא מפצל בין מירכאות כפולות עוקבות שלא מופיעות בתוך מירכאות.

איך הטוקנייזר עובד:

  1. פיצול המחרוזת ל'תווים', כאשר כל 'תו' הוא תו עם escape כמו ‎\"‎ (כלומר, ‎"\\\"‎) או תו אמיתי יחיד כמו f (פשוט 'f').
  2. לכל 'דמות'
    1. אם מדובר ברווח, צריך לסיים את האסימון, אלא אם מדובר בציטוט
    2. אם זה מרכאות, משנים את הביט של 'אנחנו בתוך מרכאות'
    3. אחרת, מוסיפים אותו לטוקן שנוצר.
  3. בסוף התקופה, בדרך כלל לא הוספנו את הטוקן הסופי ל-ArrayList (tokens)
    1. אם ה'תו' האחרון הוא תו בריחה, מוצג חריג כי זה לא תקין
    2. אם אנחנו באמצע ציטוט, צריך להפעיל חריגה כי זה לא תקין
    3. אחרת, מוסיפים את הטוקן הסופי אל (tokens)
  4. מחזירה גרסה של (tokens) מסוג String[] ‎

פרמטרים
line String: String שצריך ליצור לו טוקניזציה

delim String: תו המפריד שמשמש לפיצול

logging boolean: האם לרשום פעולות ביומן

החזרות
String[] גרסה עם אסימונים של המחרוזת

הקפצת הודעות שגיאה (throw)
IllegalArgumentException אם אי אפשר לנתח את השורה