序文:
昨日は、日付の 3 つの主要カテゴリのデータを区別するための case/switch コンポーネントによる転用について説明しました。これには、通常表示される 2023/7/12 2:59:58 のデータが含まれ、1 つは中国の朝のデータを 含み、もう 1 つはデータです中国の午後を含む。しかし、この方法で直接保存したデータには、「」や漢字の朝、昼、年が不完全で23しかない異常なデータが多数含まれていることがわかりました。明らかに、これらの異常なデータにより、データ分析が処理できなくなります。したがって、これらの異常なデータをクリーンアップして正常に戻す必要があります。
1. 弦の交換
1. 機能紹介
上図に示すように、文字列置換により文字列 A が文字列 B に変わるため、文字列置換関数を使用して「 」などを含むデータを消去できます。
2. 小さなケース
文字列を置換する場合、単純に A を B に置換する場合、正規表現を使用せずに、置換する必要がある入力ストリーム フィールドを選択し、検索に A を入力し、... を使用して置換し、B を入力して設定するだけで済みます。空文字列の場合は、下図のように待機します。
元の文字列
交換後の結果
上の図に示すように、大文字と小文字を区別しないことを選択したため、文字列 ABaaABb→BBBBBBbが正常に変更されました。 a も置換されるため、必要に応じて対応する置換データ範囲を選択する必要があります。
2. 特別なアプリケーション
前述したように、 や漢字などの 特殊文字を処理する必要があるため、正規表現を使用する必要があります。
2.1 正規表現
上の図に示すように、正規表現 + を使用して を含むデータと一致させるため、文字列内の の位置はすべて null 値に置き換えられます。中国の午前と午後と同様に、正規表現朝 + 午後 + を使用して、対応する文字列を照合し、置き換えることができます。最終的な設定効果を次の図に示します。
2.2 特別な扱い
前に述べたように、文字列内の年は不完全です。たとえば、2023 は 23 と表示されるため、23 を 2023 に変換する必要があります。ここで注意する必要があるのは、時、分、秒に 23 が出現する可能性があるため、年 23 を処理する場合は ^23 を使用して処理する必要があり、23 で始まる 23 のみが に置き換えられることになります。 2023年ではないので、時、分、秒も2023年に置き換えられています。対応する効果を次の図に示します。
23 年の問題は解決しました。23.07.14 を 2023/07/14 に置き換える必要があるため、この時点で「.」を「/」に置き換える必要があります。ここで注意する必要があるのは、対応するものはキーワードであるため、.または/を直接使用できないことです。対応する文字列の置換を完了するには\.と\/を使用する必要があります。最終的な効果を以下に示します。
3. まとめ
データクリーニングのために文字列置換を適用する場合、あいまい一致には正規表現を使用できますが、あいまい一致によって置換されるべきではない他のデータが置換されないかどうかに注意する必要があります。たとえば、年を置き換えると、時、分、秒も置き換えられます。
また、置換された文字列が期待した効果を持たないことがわかった場合は、キーワードを使用したかどうかを考慮する必要があるため、\ キーワードを使用して対応する置換ルールを完了する必要があります。頑張ってね~