## nga.util
クラス TextWalker

    java.lang.Object
      nga.util.TextWalker

    public class TextWalker

extends Object

CSV やプロパティファイル（iniファイル）形式のテキストを簡単に分解するための ユーティリティ。
使用例１：プロパティファイル形式文字列

      // 解析するテキスト文字列を引数にしてTextWalker を作成する。
      TextWalker file = new TextWalker(text);

      while(file.isWalking()){
        // １行分読み込む。
        TextWalker line = file.getLine();

        // キー部（プロパティ名）を取り出す。
        String key = line.getString('=');

        // 値部を取り出す。
        String value = line.getString();

        System.out.println("["+key+"]:"+"["+value+"]");
      }

例えば，このプログラムの text 変数に以下のような文字列を格納してから 実行すると，

     abc = あいう
     def =えおか
     ghi=きくけ

次のように表示される。

     [abc]:[あいう]
     [def]:[えおか]
     [ghi]:[きくけ]

使用例２：CSV文字列

      // 解析するテキスト文字列を引数にしてTextWalker を作成する。
      TextWalker file = new TextWalker(text);
      file.setCommentSkip(false);
      file.setSpaceSkip(false);

      while(file.isWalking()){
        // １行分読み込む。
        TextWalker line = file.getLine();
        while(line.isWalking()){
          // "," までの文字列を取り出す。
          String column = line.getString(',');

          // 取り出した文字列をタブで区切って表示する。
          System.out.print(column);
          System.out.print("\t");
        }
      System.out.println();
      }

例えば，このプログラムの text 変数に以下のような文字列を格納してから 実行すると，

     abc,defg,hij,klm
     あいう,えお,かきく,けこ

次のように表示される。

     abc    defg    hij    klm
     あいう えお    かきく けこ

コンストラクタの概要
`TextWalker(String str)` TextWalker を作成する。

メソッドの概要
`TextWalker` `between(char c1, char c2)` ２つの文字の間にある文字列に対応する TextWalker を取得する。
`TextWalker` `between(String s1, String s2)` ２つの文字列の間にある文字列に対応する TextWalker を取得する。
`String` `betweenString(char c1, char c2)` ２つの文字の間にある文字列を取得する。
`String` `betweenString(String s1, String s2)` ２つの文字列の間にある文字列を取得する。
`boolean` `contains(char c)` 指定された文字が現在位置以降の分析対象テキストに含 まれているかどうかを調べる。
`boolean` `contains(String s)` 指定された文字列が現在位置以降の分析対象テキストに含 まれているかどうかを調べる。
`boolean` `endsWith(char c)` 探索対象文字列の末尾が指定した文字と一致しているかどうかを調べる。
`boolean` `endsWith(String s)` 探索対象文字列の末尾が指定した文字列と一致しているかどうかを調べる。
`TextWalker` `get()` 現在位置以降にある全ての文字列に対応する TextWalker を取得する。
`TextWalker` `get(char c)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
`TextWalker` `get(char c, boolean next)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
`TextWalker` `get(String s)` 指定した文字列を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
`TextWalker` `get(String s, boolean next)` 指定した文字列を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
`char` `getChar(int i)` 現在位置 + num の位置にある文字を取得する。
`char` `getCommentChar()` コメント行を示す文字を取得する。
`char` `getCurrentChar()` 現在位置の文字を取得する。
`int` `getCurrentIndex()` 現在位置を取得する。
`char` `getEscapeChar()` 現在セットされているエスケープ記号を取得する。
`TextWalker` `getLine()` 現在位置から行末までの間にある文字列に対応する TextWalker を取得する。
`String` `getLineString()` 現在位置から行末までの間にある文字列を取得する。
`String` `getString()` 現在位置以降にある全ての文字列を取得する。
`String` `getString(char c)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
`String` `getString(char c, boolean next)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
`String` `getString(String s)` 指定した文字列を検索し，現在位置から指定した文字の間にある文字列 を取得する。
`String` `getString(String s, boolean next)` 指定した文字列を検索し，現在位置から指定した文字の間にある文字列 を取得する。
`String` `getText()` この TextWalker が分析対象としているテキストを取得する。
`String` `getWord()` 現在位置から語の区切り文字までの文字列を取得する。
`char[]` `getWordSeparators()` getWord メソッドで語の区切り文字として扱う文字を取得する。
`boolean` `isCommentSkip()` コメントをスキップする設定になっているかどうかを調べる。
`boolean` `isSpaceSkip()` 空白文字をスキップする設定になっているかどうかを調べる。
`boolean` `isWalking()` 分析対象テキストの終端に到達したかどうかを調べる。
`int` `length()` この TextWalker が分析対象としているテキストの文字数を取得する。
`void` `mark()` 現在の位置を記録しておき，`reset()` メソッドが呼び出されたときに 戻ることができるようにする。
`void` `moveCurrentIndex(int count)` 指定した文字数分現在位置を移動する。
`void` `reset()` `mark()` メソッドで記録した位置に戻る。
`TextWalker` `search(char c)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
`TextWalker` `search(char c, boolean next)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
`TextWalker` `search(String s)` 指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に 対応する TextWalker を取得する。
`TextWalker` `search(String s, boolean next)` 指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に 対応する TextWalker を取得する。
`String` `searchString(char c)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
`String` `searchString(char c, boolean next)` 指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
`String` `searchString(String s)` 指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に を取得する。
`String` `searchString(String s, boolean next)` 指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に を取得する。
`void` `setCommentChar(char c)` コメント行を示す文字を指定する。
`void` `setCommentSkip(boolean b)` コメントをスキップするかどうかを設定する。
`void` `setEscapeChar(char c)` エスケープ記号を設定する。
`void` `setSpaceSkip(boolean b)` 区切り文字の前後にある空白文字をスキップするかどうかを設定する。
`void` `setWordSeparators(char[] separators)` getWord メソッドで語の区切り文字として扱う文字をセットする。
`void` `skip()` setSpaceSkip(true) が指定してあれば空白文字を読みとばし， setCommentSkip(true) が指定してあればコメントを読みとばす。
`boolean` `skip(char c)` 指定された文字の次の文字に現在位置を移動する。
`boolean` `skip(String s)` 指定された文字列の次の文字に現在位置を移動する。
`boolean` `startsWith(char c)` 現在位置の文字が指定した文字と一致しているかどうかを調べる。
`boolean` `startsWith(String s)` 現在位置以降の文字列の最初が指定した文字列と一致しているかどうかを調べる。
`String` `toString()` インスタンスの内容を文字列として取得する。
`void` `trimHead(char c)` 探索対象文字列の先頭が指定した文字と一致している場合，指定した先頭文字を 削除する。
`void` `trimHead(String s)` 探索対象文字列の先頭が指定した文字列と一致している場合，指定した先頭文字列を 削除する。
`void` `trimTail(char c)` 探索対象文字列の末尾が指定した文字と一致している場合，指定した末尾文字を 削除する。
`void` `trimTail(String s)` 探索対象文字列の末尾が指定した文字列と一致している場合，指定した末尾文字列を 削除する。
`char` `which(char[] c)` 指定した文字の中で，現在位置以降で最初に現れる文字を取得する。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

コンストラクタの詳細

### TextWalker

    public TextWalker(String str)

  TextWalker を作成する。

  パラメータ:
    `str` - 分析対象とするテキスト。

メソッドの詳細

### setEscapeChar

    public void setEscapeChar(char c)

  エスケープ記号を設定する。
  例えば，"\" をエスケープ記号として設定し，"abc,abc\,de,abc" という文字列を渡して以下のプログラムを実行した場合，"abc|abc,de|abc|" が表示される。

       TextWalker tw = new TextWalker("abc,abc\\,de,abc");
       tw.setEscapeChar('\\');
       while(tw.isWalking()){
         System.out.println(tw.getString(',')+"|");
       }
       System.out.println();

  パラメータ:
    `c` - エスケープ記号。
  関連項目:
    `getEscapeChar()`

### getEscapeChar

    public final char getEscapeChar()

  現在セットされているエスケープ記号を取得する。

  戻り値:
    エスケープ記号。
  関連項目:
    `setEscapeChar(char)`

### setSpaceSkip

    public void setSpaceSkip(boolean b)

  区切り文字の前後にある空白文字をスキップするかどうかを設定する。
  デフォルトは true が設定されている。
  例えば，以下のプログラムを実行すると，"a,b,c,d," と表示され，

       TextWalker tw = new TextWalker("a , b , c,  d");
       while(tw.isWalking()){
         System.out.println(tw.getString(',')+",");
       }
       System.out.println();

  次のプログラムでは，"a , b , c, d," と表示される。

       TextWalker tw = new TextWalker("a , b , c,  d");
       tw.setSpaceSkip(false);
       while(tw.isWalking()){
         System.out.println(tw.getString(',')+",");
       }
       System.out.println();

  この実装では，' ' 以下のコードに割り当てられた文字を 空白文字として扱う。

  パラメータ:
    `b` - スキップする場合は true を指定する。
  関連項目:
    `isSpaceSkip()`

### isSpaceSkip

    public final boolean isSpaceSkip()

  空白文字をスキップする設定になっているかどうかを調べる。

  戻り値:
    空白文字をスキップする設定になっていれば true。 デフォルトは true が設定されている。
  関連項目:
    `setSpaceSkip(boolean)`

### setCommentSkip

    public void setCommentSkip(boolean b)

  コメントをスキップするかどうかを設定する。
  コメントをスキップする設定にしている場合，以下の動きをする。
  - 行頭からコメントが始まる場合，その行自体を無視する。
  - 行の途中からコメントが始まる場合，コメント文字から改行記号直前までの 文字列を無視する。
  デフォルトは true が設定されている。
  コメント開始記号は `setCommentChar(char)` メソッドで指定する。

  パラメータ:
    `b` - スキップする場合は true を指定する。
  関連項目:
    `setCommentChar(char)`, `isCommentSkip()`

### isCommentSkip

    public final boolean isCommentSkip()

  コメントをスキップする設定になっているかどうかを調べる。
  デフォルトは true が設定されている。

  戻り値:
    コメントをスキップする設定になっていれば true。
  関連項目:
    `setCommentSkip(boolean)`

### setCommentChar

    public void setCommentChar(char c)

  コメント行を示す文字を指定する。
  デフォルトは '#' が設定されている。

  パラメータ:
    `c` - コメント行を示す文字。
  関連項目:
    `setCommentSkip(boolean)`, `getCommentChar()`

### getCommentChar

    public final char getCommentChar()

  コメント行を示す文字を取得する。
  デフォルトは '#' が設定されている。

  戻り値:
    コメント行を示す文字。
  関連項目:
    `setCommentChar(char)`

### setWordSeparators

    public void setWordSeparators(char[] separators)

  getWord メソッドで語の区切り文字として扱う文字をセットする。
  デフォルトでは，"_" 以外の記号文字が割り当てられている。
  なお，ここで指定した文字とは別に空白（' ' 以下のコードに割り当 てられた文字）は必ず区切り文字として扱われる。

  パラメータ:
    `separators` - 区切り文字。
  関連項目:
    `getWord()`, `getWordSeparators()`

### getWordSeparators

    public char[] getWordSeparators()

  getWord メソッドで語の区切り文字として扱う文字を取得する。

  戻り値:
    区切り文字。
  関連項目:
    `getWord()`, `setWordSeparators(char[])`

### isWalking

    public final boolean isWalking()

  分析対象テキストの終端に到達したかどうかを調べる。

  戻り値:
    終端に到達している場合は false。

### getCurrentIndex

    public final int getCurrentIndex()

  現在位置を取得する。

  戻り値:
    現在位置。

### moveCurrentIndex

    public final void moveCurrentIndex(int count)

  指定した文字数分現在位置を移動する。

  パラメータ:
    `count` - 移動する文字数。

### getCurrentChar

    public final char getCurrentChar()

  現在位置の文字を取得する。

  戻り値:
    現在位置にある文字。現在位置が終端に達している場合は -1。

### getChar

    public final char getChar(int i)

  現在位置 + num の位置にある文字を取得する。
  現在位置は移動しない。

  戻り値:
    現在位置 + num の位置にある文字。 指定した位置の文字を取得できない場合は -1。

### startsWith

    public boolean startsWith(String s)

  現在位置以降の文字列の最初が指定した文字列と一致しているかどうかを調べる。

  パラメータ:
    `s` - 比較する文字列。
  戻り値:
    一致している場合は true。

### startsWith

    public boolean startsWith(char c)

  現在位置の文字が指定した文字と一致しているかどうかを調べる。

  パラメータ:
    `c` - 比較する文字。
  戻り値:
    一致している場合は true。

### trimHead

    public void trimHead(String s)

  探索対象文字列の先頭が指定した文字列と一致している場合，指定した先頭文字列を 削除する。

  パラメータ:
    `s` - 比較する文字列。

### trimHead

    public void trimHead(char c)

  探索対象文字列の先頭が指定した文字と一致している場合，指定した先頭文字を 削除する。

  パラメータ:
    `c` - 比較する文字。

### endsWith

    public boolean endsWith(String s)

  探索対象文字列の末尾が指定した文字列と一致しているかどうかを調べる。

  パラメータ:
    `s` - 比較する文字列。
  戻り値:
    一致している場合は true。

### endsWith

    public boolean endsWith(char c)

  探索対象文字列の末尾が指定した文字と一致しているかどうかを調べる。

  パラメータ:
    `c` - 比較する文字。
  戻り値:
    一致している場合は true。

### trimTail

    public void trimTail(String s)

  探索対象文字列の末尾が指定した文字列と一致している場合，指定した末尾文字列を 削除する。

  パラメータ:
    `s` - 比較する文字列。

### trimTail

    public void trimTail(char c)

  探索対象文字列の末尾が指定した文字と一致している場合，指定した末尾文字を 削除する。

  パラメータ:
    `c` - 比較する文字。

### getText

    public final String getText()

  この TextWalker が分析対象としているテキストを取得する。

  戻り値:
    分析対象のテキスト。

### length

    public final int length()

  この TextWalker が分析対象としているテキストの文字数を取得する。

  戻り値:
    分析対象テキストの文字数。

### between

    public TextWalker between(char c1,
                              char c2)

  ２つの文字の間にある文字列に対応する TextWalker を取得する。
  現在位置は，c2 の次の文字に移動する。

       TextWalker tw = new TextWalker("ab{cde}fg");
       System.out.println(tw.between('{','}').getText());

  上のプログラムを実行すると，コンソール上には "cde" が表示される。
  また，次のように指定した文字が入れ子になっている場合は，外側の文字間 にある文字列が取得される。

       TextWalker tw = new TextWalker("ab{cde{fg}hi}jk");
       System.out.println(tw.between('{','}').getText());

  上記のプログラムを実行すると，"cde{fg}hi" が表示される。

  パラメータ:
    `c1` - 取得開始文字。
    `c2` - 取得終了文字。
  戻り値:
    c1 と c2 の間にある文字列に対応する TextWalker。 この文字列には c1 と c2 自体は含まれない。 また，c1 や c2 が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `betweenString(char,char)`

### between

    public TextWalker between(String s1,
                              String s2)

  ２つの文字列の間にある文字列に対応する TextWalker を取得する。
  現在位置は，s2 の次の文字に移動する。

       TextWalker tw = new TextWalker("ab<-cde->fg");
       System.out.println(tw.between("<-","->").getText());

  上のプログラムを実行すると，コンソール上には "cde" が表示される。
  また，次のように指定した文字列が入れ子になっている場合は，外側の文字列間 にある文字列が取得される。

       TextWalker tw = new TextWalker("ab<-cde<-fg->hi->jk");
       System.out.println(tw.between("<-","->").getText());

  上記のプログラムを実行すると，"cde<-fg->hi" が表示される。

  パラメータ:
    `s1` - 取得開始文字列。
    `s2` - 取得終了文字列。
  戻り値:
    s1 と s2 の間にある文字列に対応する TextWalker。 この文字列には s1 と s2 自体は含まれない。 また，s1 や s2 が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `betweenString(String,String)`

### search

    public TextWalker search(char c)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
  現在位置は，指定した文字の次の文字に移動する。
  指定した文字が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `c` - 検索する文字。
  戻り値:
    現在位置から c までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `searchString(char)`, `get(char)`

### search

    public TextWalker search(char c,
                             boolean next)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
  指定した文字が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `c` - 検索する文字。
    `next` - true の場合は，現在位置を指定した文字の次に移動する。
  戻り値:
    現在位置から c までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `searchString(char, boolean)`, `get(char, boolean)`

### search

    public TextWalker search(String s)

  指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に 対応する TextWalker を取得する。
  現在位置は，指定した文字列の次の文字に移動する。
  指定した文字列が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `s` - 検索する文字列。
  戻り値:
    現在位置から s までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `searchString(String)`, `get(String)`

### search

    public TextWalker search(String s,
                             boolean next)

  指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に 対応する TextWalker を取得する。
  指定した文字列が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `s` - 検索する文字列。
    `next` - true の場合は，現在位置を指定した文字列の次に移動する。
  戻り値:
    現在位置から s までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `searchString(String,boolean)`, `get(String,boolean)`

### get

    public TextWalker get()

  現在位置以降にある全ての文字列に対応する TextWalker を取得する。
  現在位置は，最後の文字に移動する（つまり，`isWalking()` メソッドが false を返すようになる）。

  戻り値:
    現在位置以降にある文字列に対応する TextWalker。 この文字列には現在位置にある文字も含まれる。
  関連項目:
    `getString()`

### get

    public TextWalker get(char c)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
  現在位置は，指定した文字の次の文字に移動する。
  指定した文字が見つからなかった場合は，`get()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `c` - 検索する文字。
  戻り値:
    現在位置から c までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は，`get()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `getString(char)`, `get()`, `search(char)`

### get

    public TextWalker get(char c,
                          boolean next)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
  指定した文字が見つからなかった場合は，`get()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `c` - 検索する文字。
    `next` - true の場合は，現在位置を指定した文字の次に移動する。
  戻り値:
    現在位置から c までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は，`get()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `getString(char,boolean)`, `get()`, `search(char,boolean)`

### get

    public TextWalker get(String s)

  指定した文字列を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
  現在位置は，指定した文字列の次の文字に移動する。
  指定した文字列が見つからなかった場合は，`get()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `s` - 検索する文字列。
  戻り値:
    現在位置から s までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は，`get()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `getString(String)`, `get()`, `search(String)`

### get

    public TextWalker get(String s,
                          boolean next)

  指定した文字列を検索し，現在位置から指定した文字の間にある文字列に 対応する TextWalker を取得する。
  指定した文字列が見つからなかった場合は，`get()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `s` - 検索する文字列。
    `next` - true の場合は，現在位置を指定した文字列の次に移動する。
  戻り値:
    現在位置から s までの間にある文字列に対応する TextWalker。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は，`get()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `getString(String,boolean)`, `get()`, `search(String,boolean)`

### getLine

    public TextWalker getLine()

  現在位置から行末までの間にある文字列に対応する TextWalker を取得する。
  現在位置は，次行の最初の文字に移動する。

  戻り値:
    現在位置から行末までの文字列に対応する TextWalker。 現在位置を含み，行末文字は含まない。
  関連項目:
    `getLineString()`

### which

    public char which(char[] c)

  指定した文字の中で，現在位置以降で最初に現れる文字を取得する。 現在位置は，みつかった文字に移動する。

  パラメータ:
    `c` - 検索する文字。
  戻り値:
    見つかった文字。

### betweenString

    public String betweenString(char c1,
                                char c2)

  ２つの文字の間にある文字列を取得する。
  現在位置は，c2 の次の文字に移動する。

       TextWalker tw = new TextWalker("ab{cde}fg");
       System.out.println(tw.betweenString('{','}'));

  上のプログラムを実行すると，コンソール上には "cde" が表示される。
  また，次のように指定した文字が入れ子になっている場合は，外側の文字間 にある文字列が取得される。

       TextWalker tw = new TextWalker("ab{cde{fg}hi}jk");
       System.out.println(tw.betweenString('{','}'));

  上記のプログラムを実行すると，"cde{fg}hi" が表示される。

  パラメータ:
    `c1` - 取得開始文字。
    `c2` - 取得終了文字。
  戻り値:
    c1 と c2 の間にある文字列。 この文字列には c1 と c2 自体は含まれない。 また，c1 や c2 が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `between(char,char)`

### betweenString

    public String betweenString(String s1,
                                String s2)

  ２つの文字列の間にある文字列を取得する。
  現在位置は，s2 の次の文字に移動する。

       TextWalker tw = new TextWalker("ab<-cde->fg");
       System.out.println(tw.betweenString("<-","->"));

  上のプログラムを実行すると，コンソール上には "cde" が表示される。
  また，次のように指定した文字列が入れ子になっている場合は，外側の文字列間 にある文字列が取得される。

       TextWalker tw = new TextWalker("ab<-cde<-fg->hi->jk");
       System.out.println(tw.between("<-","->").getText());

  上記のプログラムを実行すると，"cde<-fg->hi" が表示される。

  パラメータ:
    `s1` - 取得開始文字列。
    `s2` - 取得終了文字列。
  戻り値:
    s1 と s2 の間にある文字列。 この文字列には s1 と s2 自体は含まれない。 また，s1 や s2 が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `between(String,String)`

### searchString

    public String searchString(char c)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
  現在位置は，指定した文字の次の文字に移動する。
  指定した文字が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `c` - 検索する文字。
  戻り値:
    現在位置から c までの間にある文字列。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `search(char)`, `getString(char)`

### searchString

    public String searchString(char c,
                               boolean next)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
  指定した文字が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `c` - 検索する文字。
    `next` - true の場合は，現在位置を指定した文字の次に移動する。
  戻り値:
    現在位置から c までの間にある文字列。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `search(char,boolean)`, `getString(char,boolean)`

### searchString

    public String searchString(String s)

  指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に を取得する。
  現在位置は，指定した文字列の次の文字に移動する。
  指定した文字列が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `s` - 検索する文字列。
  戻り値:
    現在位置から s までの間にある文字列。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `search(String)`, `getString(String)`

### searchString

    public String searchString(String s,
                               boolean next)

  指定した文字列を検索し，現在位置から指定した文字列の間にある文字列に を取得する。
  現在位置は，指定した文字列の次の文字に移動する。
  指定した文字列が見つからなかった場合は null を返し，現在位置は 移動しない。

  パラメータ:
    `s` - 検索する文字列。
    `next` - true の場合は，現在位置を指定した文字列の次に移動する。
  戻り値:
    現在位置から s までの間にある文字列。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は null が返される。 この場合，現在位置は更新されない。
  関連項目:
    `search(String,boolean)`, `getString(String,boolean)`

### getString

    public String getString()

  現在位置以降にある全ての文字列を取得する。
  現在位置は，最後の文字に移動する（つまり，`isWalking()` メソッドが false を返すようになる）。

  戻り値:
    現在位置以降にある全ての文字列。 この文字列には現在位置にある文字も含まれる。
  関連項目:
    `get()`

### getString

    public String getString(char c)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
  現在位置は，指定した文字の次の文字に移動する。
  指定した文字が見つからなかった場合は，`getString()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `c` - 検索する文字。
  戻り値:
    現在位置から c までの間にある文字列。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は，`getString()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `get(char)`, `getString()`, `searchString(char)`

### getString

    public String getString(char c,
                            boolean next)

  指定した文字を検索し，現在位置から指定した文字の間にある文字列 を取得する。
  指定した文字が見つからなかった場合は，`getString()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `c` - 検索する文字。
    `next` - true の場合は，現在位置を指定した文字の次に移動する。
  戻り値:
    現在位置から c までの間にある文字列。 この文字列は現在位置にある文字を含み c を含まない。 c が見つからなかった場合は，`getString()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `get(char,boolean)`, `getString()`, `searchString(char,boolean)`

### getString

    public String getString(String s)

  指定した文字列を検索し，現在位置から指定した文字の間にある文字列 を取得する。
  現在位置は，指定した文字列の次の文字に移動する。
  指定した文字列が見つからなかった場合は，`getString()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `s` - 検索する文字列。
  戻り値:
    現在位置から s までの間にある文字列。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は，`getString()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `get(String)`, `getString()`, `searchString(String)`

### getString

    public String getString(String s,
                            boolean next)

  指定した文字列を検索し，現在位置から指定した文字の間にある文字列 を取得する。
  指定した文字列が見つからなかった場合は，`getString()` メソッドを 実行したときと同じ動きをする。

  パラメータ:
    `s` - 検索する文字列。
    `next` - true の場合は，現在位置を指定した文字列の次に移動する。
  戻り値:
    現在位置から s までの間にある文字列。 この文字列は現在位置にある文字を含み s を含まない。 s が見つからなかった場合は，`getString()` メソッドを実行 したときと同じ動きをする。
  関連項目:
    `get(String,boolean)`, `getString()`, `searchString(String,boolean)`

### getWord

    public String getWord()

  現在位置から語の区切り文字までの文字列を取得する。
  ここでは，空白文字（コードが " " 以下の文字）及び `setWordSeparators(char[])`メソッドで指定された文字を語の区切 り文字として扱う。
  現在位置は，語の区切り文字に移動する。但し，語の区切り文字が 空白文字の場合は，次の語の最初の文字に移動する。

  戻り値:
    取得できた文字列。空白文字が見つからなかった場合は， 文字列の末尾まで読込む。
  関連項目:
    `setWordSeparators(char[])`

### getLineString

    public String getLineString()

  現在位置から行末までの間にある文字列を取得する。
  現在位置は，次行の最初の文字に移動する。

  戻り値:
    現在位置から行末までの文字列。 現在位置を含み，行末文字は含まない。
  関連項目:
    `getLine()`

### contains

    public boolean contains(String s)

  指定された文字列が現在位置以降の分析対象テキストに含 まれているかどうかを調べる。

  パラメータ:
    `s` - 調べる文字列。
  戻り値:
    含まれている場合は true。

### contains

    public boolean contains(char c)

  指定された文字が現在位置以降の分析対象テキストに含 まれているかどうかを調べる。

  パラメータ:
    `c` - 調べる文字。
  戻り値:
    含まれている場合は true。

### skip

    public boolean skip(String s)

  指定された文字列の次の文字に現在位置を移動する。

  パラメータ:
    `s` - 検索する文字列。
  戻り値:
    指定した文字列が見つかった場合は true。見つからなかった場合は false。この場合，現在位置は更新されない。

### skip

    public boolean skip(char c)

  指定された文字の次の文字に現在位置を移動する。

  パラメータ:
    `c` - 検索する文字。
  戻り値:
    指定した文字が見つかった場合は true。見つからなかった場合は false。この場合，現在位置は更新されない。

### skip

    public void skip()

  setSpaceSkip(true) が指定してあれば空白文字を読みとばし， setCommentSkip(true) が指定してあればコメントを読みとばす。

### mark

    public void mark()

  現在の位置を記録しておき，`reset()` メソッドが呼び出されたときに 戻ることができるようにする。

### reset

    public void reset()

  `mark()` メソッドで記録した位置に戻る。

### toString

    public String toString()

  インスタンスの内容を文字列として取得する。

  オーバーライド:
    クラス `Object` 内の `toString`