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

# データ整形

> Octoparseのフィールドエディター内で、抽出フィールドの名前変更、並べ替え、派生、クリーニング、正規表現処理を行います。

抽出した生データは、そのままでは使いにくいことがよくあります。Octoparseでは、エクスポート前に抽出フィールドを整形できます。テキストのクリーニング、値の再構成、不要な文字の削除、必要な部分だけの抽出を行えます。

誤った要素が抽出されている場合は、まず[フィールド選択](/docs/jp/platform/no-code-builder)を修正してください。**正しい要素を選択できているものの、値の形式が乱れている場合は、整形ルールを使用します。**

## 対応できるシナリオ

<Columns cols={2}>
  <Card title="乱れた値をクリーニングする">
    エクスポート前に、テキストの削除、置換、トリミング、再フォーマットを行います。
  </Card>

  <Card title="値の一部を抽出する">
    マッチングルールや正規表現を使って、必要なテキストパターンだけを残します。
  </Card>

  <Card title="行ごとの値を標準化する">
    接頭辞を追加したり、繰り返しテキストを削除したり、行ごとにばらつく値を正規化します。
  </Card>

  <Card title="日付とタイムスタンプを整形する">
    日付形式、相対日付、Unixタイムスタンプ、タイムゾーンオフセットを一貫した形式に変換します。
  </Card>
</Columns>

よくある例：

* `Price:`や`Rating:`のようなラベルを削除する
* 不要な文字や余分な空白を置換する
* 各値に接頭辞または接尾辞を追加する
* 日付を再フォーマットする、またはタイムゾーンを変換する
* HTMLエンティティをプレーンテキストに変換する

## Clean Dataを開く

<Steps>
  <Step title="フィールドを選択する">
    データプレビューまたはフィールド一覧で、クリーニングしたい抽出フィールドを選択します。
  </Step>

  <Step title="フィールドメニューを開く">
    対象フィールドの`...`メニューをクリックします。
  </Step>

  <Step title="Clean Dataを選択する">
    **Clean Data**を選択して、データクリーニングのワークフローを開きます。
  </Step>

  <Step title="クリーニングステップを追加する">
    **Add Step**をクリックし、適用したい操作を選びます。
  </Step>

  <Step title="結果をプレビューする">
    ルールを保存する前に、プレビュー値を確認します。
  </Step>
</Steps>

## 一般的な整形操作

| 操作                              | 用途                                                                                                                              |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Replace                         | 特定の文字列を別の値に置換します。空文字に置換すると、その文字列を削除できます。<br /><sub>空文字とは文字がまったくない状態を指します。空文字に置換すると、一致したテキストは出力から削除されます。</sub>                   |
| Replace with Regular Expression | RegExパターンを使って、一致する文字列を検索、置換します                                                                                                  |
| Match with Regular Expression   | パターンに一致する値の一部だけを残し、それ以外を破棄します                                                                                                   |
| Trim spaces                     | 値の先頭または末尾にある不要な空白を削除します                                                                                                         |
| Add a prefix                    | 抽出値の前に固定テキストを追加します                                                                                                              |
| Add a suffix                    | 抽出値の後に固定テキストを追加します                                                                                                              |
| Reformat extracted date/time    | 日付形式や相対日付（`2 days ago`→具体的な日付）を変換します。<br /><sub>組み込み形式には、yyyy/MM/dd hh:mm:ss、yyyy-MM-dd、01/01/2026、Thu、01 01 2026などがあります。</sub> |
| Timestamp conversion            | Unixタイムスタンプを読みやすい日付形式に変換します                                                                                                     |
| Timezone conversion             | 日付と時刻を指定したタイムゾーンに調整します                                                                                                          |
| HTML transcoding                | HTMLエンティティをプレーンテキストに変換します（例：`&amp;`→`&`）                                                                                        |

<Tip>
  **文字列**とは、単語、数字、空白、記号、句読点などを含む文字の並びです。**空文字**は文字がまったくない状態を指します。たとえば、値を空文字に置換すると、その値を出力から削除できます。
</Tip>

## RegExでパターンベースのクリーニングを行う

正規表現は、値に一定のパターンがあるものの、単純な置換やトリミングだけでは安定して処理できない場合に役立ちます。

* 文中に含まれる数値や価格を抽出する
* 既知の区切り文字（例：`:`, `|`, `-`）の前後のテキストを取得する
* HTML属性値の一部だけを残す
* 行ごとに異なる形で繰り返されるパターンを削除する
* ページごとに少し変化する値から部分文字列を切り出す

RegExツールはClean Dataワークフロー、または左サイドバーのToolsエリアから開けます。Octoparseには**AI RegExジェネレーター**も用意されています。抽出したい内容を自然言語で説明すると、手動で式を書かなくてもパターンを生成できます。

| 目的                | パターン                   | 入力                          | 出力                 |
| ----------------- | ---------------------- | --------------------------- | ------------------ |
| 価格を抽出             | `\$\d+(?:\.\d{1,2})?`  | `Only $19.99 today`         | `$19.99`           |
| メールアドレスを抽出        | `[\w.-]+@[\w.-]+\.\w+` | `Contact: info@example.com` | `info@example.com` |
| 日付（YYYY-MM-DD）を抽出 | `\d{4}-\d{2}-\d{2}`    | `Published 2025-06-10`      | `2025-06-10`       |
| 数字のみ抽出            | `\d+`                  | `Rating: 4.5 out of 5`      | `4`                |
| HTMLタグを削除         | `<[^>]+>`              | `<b>Bold text</b>`          | `Bold text`        |

パターンと構文の一覧は、ヘルプセンターの[RegEx Cheatsheet for Data Extraction](https://helpcenter.octoparse.com/ja/articles/11659531-%E3%83%87%E3%83%BC%E3%82%BF%E6%8A%BD%E5%87%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE-regex-%E3%83%81%E3%83%BC%E3%83%88%E3%82%B7%E3%83%BC%E3%83%88)を参照してください。

<Tip>
  RegExは、より単純なクリーニングルールでは不十分な場合に使用します。通常の整形では、置換、トリミング、接頭辞、接尾辞のほうが保守しやすくなります。
</Tip>

## 例：属性から値を抽出する

一部のWebサイトでは、役立つデータが表示テキストではなく属性に保存されています。たとえば、評価が`alt="5 stars"`のような画像属性や、`src`の値に保存されていることがあります。

<Steps>
  <Step title="要素を選択する">
    評価アイコンやテキストブロックなど、必要な値を含む要素を選択します。
  </Step>

  <Step title="ソース値を選択する">
    値が保存されている場所に応じて、**Image URL**、**OuterHTML**、**Other Attributes**などを選択します。
  </Step>

  <Step title="フィールドをカスタマイズする">
    フィールドメニューを開き、**Customize Field**または**Clean Data**を選択します。
  </Step>

  <Step title="対象値を抽出する">
    関連する属性を選択するか、RegExを使って残したいHTML部分に一致させます。
  </Step>

  <Step title="保存前にプレビューする">
    タスクを実行する前に、プレビューで期待どおりの値が表示されていることを確認します。
  </Step>
</Steps>

## フィールド整形の制限

整形ルールは、Octoparseがすでに抽出した値をクリーニングします。Webページの構造そのものは変更しません。

たとえば、複数行に見えるテキストブロックでも、ページソース上では1つの要素として保存されている場合があります。この場合、見た目の改行だけで別々のフィールドに分割できないことがあります。データが実際にどのように保存されているかに応じて、ソース構造を確認し、フィールド選択、抽出設定、RegExクリーニングを使い分けます。

<Warning>
  Webサイトが値を1つの要素として保存している場合、データクリーニングだけでは分割できないことがあります。選択した要素を調整する、HTMLを確認する、別のソース値を抽出するなどの対応が必要です。
</Warning>

## ベストプラクティス

* 正しい要素が選択されていることを確認してからフィールドを整形します。
* RegExを使う前に、単純なクリーニングステップを試します。
* 各ステップを保存する前にプレビューします。
* エクスポート後のデータが理解しやすいよう、フィールド名を明確にします。
* 後続システムで整形できる場合は、過度なクリーニングを避けます。
* 複雑なRegExパターンは、チームメンバーが保守できるよう記録しておきます。
