> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Character String

> Character String 要素は、正規表現またはアルファベットを使用して不特定のテキストを検索し、単語数、文字数、スペース長を制御できます。

**Character String** は、左から右へ1行に記された文字列を表す FlexiLayout の要素です。文字列は、単語または単語の一部で構成される場合があります。

**Character String** 要素は、**FlexiLayout** ツリーで <img src="https://mintcdn.com/abbyy/lqYknuOmCa79141v/images/flexi-capture/fls/el_character_chain.gif?s=d509e931053e2c2026426cc3a24c8919" alt="Character String 要素アイコン" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="17" height="17" data-path="images/flexi-capture/fls/el_character_chain.gif" /> で示されます。

**Character String** 要素は、特定されていないテキストを探すために使用されます。プログラムは、要素の検索領域内で [事前認識](/ja/flexi-capture/fls/batch/prerecognition) 中に検出された **認識済みの単語** オブジェクトを候補として扱います。

通常、**Character String** は static text の隣に配置されます。たとえば、文書の Ref. No. を見つけるために、FlexiLayout Studio はまず static text "Ref. No." を見つけ、その隣にある数字を探します。

<div id="describe-the-search-text">
  ## 検索するテキストの記述
</div>

対応するオブジェクトを設定するには、**Properties** ダイアログの **Character String** タブをクリックします。

**Properties** ダイアログを開くには、**FlexiLayout** ツリー内の要素を右クリックし、ショートカットメニューで **Properties...** を選択します。

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Character_string_tab.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=cfb078b2ec59b408e5eb00a8585f027f" alt="ABBYY FlexiLayout Studio の要素の Properties ダイアログにある Character String タブのスクリーンショット。" width="431" height="455" data-path="images/flexi-capture/fls/Character_string_tab.gif" />
</Frame>

検索するテキストは、正規表現またはアルファベットを使用して記述できます。

<div id="describe-search-text-with-a-regular-expression">
  ## 正規表現を使用した検索テキストの記述
</div>

正規表現は、文字の組み合わせのパターンを定義します。これを使用する場合、仮説はその条件を満たしている必要があります。このメソッドは、誤認識のない高品質な文書に使用します。

正規表現を入力するには、**Regular expression** オプションを選択し、その横のfieldに式を入力します。<img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=31d9fa9f45f477259b0ae4b0cabf8b83" alt="正規表現オプションボタン" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="25" height="18" data-path="images/flexi-capture/fls/Button.gif" /> ボタンをクリックすると、オプション (**Any Letter**、**Character From Set** など) のドロップダウンリストを開くこともできます。オプションを選択すると、対応する正規表現がfieldに入力されます。

<div id="regular-expression-syntax">
  ### 正規表現の構文
</div>

| リスト内の名前                   | field 内の記号 | 例                                                  |          |                                        |
| ------------------------- | ---------- | -------------------------------------------------- | -------- | -------------------------------------- |
| 任意の文字                     | \*         | "k"\*"t" – 'kit'、'kat' などを許可します。                   |          |                                        |
| 英字                        | C          | C"at" – cat、bat、Rat、mat などを許可します。                  |          |                                        |
| 大文字の英字                    | A          | A"at" – Cat、Bat、Rat、Mat などを許可します。                  |          |                                        |
| 小文字の英字                    | a          | a"at" – cat、bat、rat、mat などを許可します。                  |          |                                        |
| 英字または数字                   | X          | X – 任意の1文字の英字または数字を許可します。                          |          |                                        |
| 数字                        | N          | N"th" – 5th、4th、6th などを許可します。                      |          |                                        |
| 文字列                       | ""         | "cat"                                              |          |                                        |
| または                       |            |                                                    | "dr"("i" | "u")"nk" – "drink" または "drunk" を許可します。 |
| セット内の文字                   | \[]        | \[hm]"at" – 'hat' または 'mat' を許可します。                |          |                                        |
| セット外の文字                   | \[^]       | \[^b]"at" – 'cat'、'mat'、'rat' は許可しますが、bat は許可しません。 |          |                                        |
| 繰り返し回数は任意 (左側の式または部分式に適用) | \{-}       | \[AB74]\{-} – A、B、7、4 を任意の長さで自由に組み合わせることができます。     |          |                                        |
| 繰り返し回数が n                 | \{n}       | N\{2}"th" – 25th、84th、11th などを許可します。               |          |                                        |
| n 回から m 回の繰り返し            | \{n-m}     | N\{1-3}"th" – 5th、84th、111th などを許可します。             |          |                                        |
| 0 回から n 回の繰り返し            | \{-n}      | N\{-2}"th" – th、84th、4th などを許可します。                 |          |                                        |
| n 回以上の繰り返し                | \{n-}      | N\{2-}"th" – 25th、834th、311th、34576th などを許可します。    |          |                                        |
| 部分式                       | ()         |                                                    |          |                                        |

<div id="describe-search-text-with-an-alphabet">
  ## アルファベットを使用して検索テキストを記述する
</div>

**アルファベット**は、検索テキストに出現し得る文字の一覧です。このメソッドは、文字列を正規表現で記述できない場合や、画質が低いために認識されたテキストに多数の誤りがある場合に使用します。

**Character String** 要素には、複数のアルファベットを指定できます。テキストの形式が不明な場合は、アルファベットを指定しません。その場合、FlexiLayout Studio は要素に対応するオブジェクトを検索する際に、考えられるすべての文字を考慮します。

<Steps>
  <Step title="仮説生成モードを選択する">
    検索領域内の文字を使用して、交差する仮説や埋め込み仮説を含むすべての仮説を生成するには、**Allow embedded hypotheses** を選択します。最大長の仮説を生成するには、**Allow embedded hypotheses** をオフにします。
  </Step>

  <Step title="1 つ以上のアルファベットを作成する">
    アルファベットごとに:

    1. **Add...** をクリックします。
    2. **Add New Alphabet** ダイアログで、**Code page** リストから必要なコードページを選択します。
    3. **Character map** で、検索テキストに含まれる文字を選択します。選択した文字とその数は、**Selected on screen/selected in all** field に表示されます。
    4. **Percentage of alphabet characters** field で、検索テキスト内のアルファベット文字の必要な割合を指定します。

    <Note>
      複数のアルファベットを指定できますが、互いに重複してはいけません。つまり、同じ文字を含めることはできません。
    </Note>
  </Step>
</Steps>

アルファベットを削除するには、**Alphabets** リストで対象のアルファベットを選択し、**Delete** をクリックします。アルファベット文字を追加または削除するには、**Alphabets** リストで対象のアルファベットを選択し、**Edit...** をクリックします。

**Percentage of non-alphabet characters** field で、どのアルファベットにも属さない文字の許容割合を指定します。

<div id="additional-character-string-properties">
  ## Additional Character String properties
</div>

検索テキストの記述に使用するメソッドによっては、次のプロパティを指定する必要があります。

* **Whole words only** – 完全な単語のみを検索します。

* **Detect words by interword space** – 行をどのように単語に分割するかを指定します。単語を自動的に検出するには、このオプションを無効にします。有効にすると、隣接する文字間のスペースが **Min interword space** に入力した値以上になるたびに、行が単語に分割されます。

  <Note>
    単語を自動検出する場合、単語の終端はスペース、単語を区切るその他の記号 (たとえば `,`、`;`、`/`、`?`) 、またはその他の属性に基づいて検出されます。区切り記号の正確なセットは、選択した事前認識言語によって異なります。FlexiLayout Studio が行を正しく単語に分割できるようにするには、テスト画像上のテキストオブジェクトを確認してください (**View → Images → Objects → Recognized Words**) 。
  </Note>

* **Word count** – [ファジー区間](/ja/flexi-capture/fls/template/fuzzy-interval)を使用して、文字列内の単語数を指定します。デフォルトの区間は `{-1,-1,INF,INF}` です (つまり、任意の単語数の仮説が一致します) 。

* **Max space length** – オブジェクト内のスペースの最大長を、ユーザー定義の[単位](/ja/flexi-capture/fls/template/units)で指定します。スペースの長さは、隣接するオブジェクトの座標を確認することで見積もることができます。隣接するオブジェクトにマウスカーソルを合わせると、その座標がステータスバーに表示されます。テキストを検索する際は、隣接する要素間の距離が **Max space length** を超えるまで、文字列に文字が追加されます。

* **Character count** – [ファジー区間](/ja/flexi-capture/fls/template/fuzzy-interval)を使用して文字列の長さ (文字数) を指定します。これは、長さに基づいて仮説の品質も評価します。<img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_points.gif?s=494881c954b44aa8b446880d31ab4d12" alt="Browse button" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="19" height="18" data-path="images/flexi-capture/fls/Button_points.gif" /> ボタンを使用すると、ファジー区間を別ウィンドウで指定し、視覚的に確認できます。

<div id="related-topics">
  ## 関連トピック
</div>

* [要素を作成、コピー、削除する](/ja/flexi-capture/fls/template/elements-simple)
* [要素のプロパティの概要](/ja/flexi-capture/fls/template/elements-properties)
* [検索領域](/ja/flexi-capture/fls/template/search-constraints)
* [Character String](/ja/flexi-capture/fls/language/character-string)
