2016-06-24 7 views
0

Googleスクリプトでregexを使用して企業名を正規化していますが、特定の単語、句読点、スペースを入れ替えて完璧に近づいています最後のステップは、3文字以下の任意の文字の単語(数字ではない)を置き換えることでした。最初の 'x'の後の文字列#文字数

しかし、名前の頭字語で頭字語を持ついくつかの会社、すなわちAB Holding Companyを取り除きます。私はこれをABにマッチさせたくありません。まれな "The"、または会社コード(特にCo and Incと共にSPAとNVのような外国のもの)を探したいと思います。これらのコードは必ずしも文字列の最後にあるわけではありませんが、開始後は常に少なくとも4文字のように見えます。私は現在、

text = text.replace(/\b[a-z]{1,3}\b)/i," "); 

を使用しています

が欠落しているキャップとして[AZ]を無視し、私は私が仕事だと思う何それ別途

を扱ってきた最初の「スキップ」することですいくつかの文字、おそらく4つは安全で、おそらく将来のためにそこにスペースや数字を入れる方法を学びます。だから私はここに1つの他の関連する質問を見た後これを書いた。

text = text.replace(/((.{4})(.*)\b[a-z]{1,3}\b)/i," "); 

Sciptsは見た目を隠すことができないようで、私のバージョンは動作していないようです。道に迷いました。

ご協力いただきありがとうございます。明確化

+0

後に任意の単語にマッチするのを避けるだろう

text = text.replace(/\b[a-z]{1,3}\b$)/i," "); 

のように見えますか? –

+0

あなたは大文字で「扱った」ため、頭字語と通常の単語の違いは分かりません。長さ以外は '' the ''と比較して '' ab "'を知りません。すべての頭字語が完全に大文字になっていることが確実でない限り、単語を[A-Z] [a-z] * 'としてキャプチャします。 –

答えて

0

FOR

編集が、あなたは「$」の文字列の末尾にマッチしようとしたのですか?

ので、これはあなたには、いくつかのサンプルデータとあなたの予想に一致または出力を置くことができる頭文字

+0

私はフレーズ私の質問を正しくしなかったと思う。私は実際に会社頭字語を維持したいと思っていました。私は2文字または3文字の会社名ではない単語を取り込み、それらを ""と置き換えるために置換文字を使用する予定でした。私は "the"と企業コード(Inc、co、NAなどのような)を取り除きたい。 –

+0

これらのコードが必ずしも文字列の最後の3文字ではないことを明確にしたい。彼らはしばしばそうですが、時には "ABC Holdings Co Ltd"と呼ばれる会社を見つけることがあります。このシナリオでは、正規表現で "Co"と "Ltd"を削除したいが、 "ABC"ではなく、 –

関連する問題