2016-06-22 6 views
0

ハイブには正規表現や翻訳などの表現はありませんか? はハイブテーブルの制御文字とASCII文字を無視します。ハイブテーブルカラムは、キーボード文字、数字、コントロールとASCII文字を無視します。

例のみ上記式においてREGEXP_REPLACE(option_type、 '[^-ZA-Z0-9] +'、 '')
文字と数字を考慮しているが、%、&ような任意のキーボード特殊文字データ、 *、。、?、..利用可能な場合は、空白として出力されています。

Col:bhuvi?あなたはどこですか?
結果:bhuviあなたは
ですが、私はbhuviとして出力しますか?あなたはどこですか?

のように、特別なキーボード文字 がある場合はそのまま表示され、コントロールやASCII文字は無視されます。

答えて

1

さまざまなキーボードレイアウト(言語)には、ドイツ語やスペイン語などのさまざまな「特殊」文字があることを考慮する必要があります(例:アジア語、ヘブライ語またはアラビア語のキーボードについては話しません)。たぶん、あなたが許可された文字のリストを定義し、あなたが頻繁に許可されているものを制御することができるように、文字クラスに入れなければならない) 1.ていますが、ほとんどの言語

2を除外することがあります

は、私は2つのソリューションを参照してください。)あなたのあなたが正規表現のUnicodeクラスに顔をしているかもしれませんが、あなたはどんな「手紙」\p{L}または「数」\p{N}、さらには句読点\p{P}を許可し、あなたが知っている文字のみが制御文字\p{C} のような問題が発生します禁止することができます参照してください。 Unicode正規表現の詳細は、regular-expression.infoを参照してください。

編集:

あなたは英語のみに固執したいとあなただけ、あなたは文字クラスでは、キーボード上で見つけるすべてのキーを入力するか、許可するようにASCIIを持っています想定できた場合、などない完全な例:あなたはあなたのケースAでは、使用できる文字の範囲を決定するためにASCII tableを使用することができ/^[-a-zA-Z0-9,.-;:_!"§$%&]+$/

または

「カーリー閉じ括弧」}に「スペース」から想定し、それらのすべてを可能に文字クラスをだます:/^[ -}]+$/

+0

英語と数字とキーボード文字のみが欲しいです。どのような例がありますか? – Sai

+0

öとßは私のキーボード上にあり、英語の外国語や名前で使用することができます。あなたは '[-a-zA-Z0-9!"§$%=?] 'のようにそれぞれの許可された文字を指定することができます。 – DesertEagle

0

私は解決策 REGEXP_REPLACE(option_type、 '[^-ZA-Z0-9 *を持って! @ + - /#$%()_ =/<>?\ | &] + '、' ')作品

関連する問題