文字と文字を、それらの間にスペースがない1つのデジタルと照合するための正規表現関数こんにちは皆さん、
「9 035特性評価のためのアッセイ活性試験STD4 1 1」という文字列があります。そして私は「キャラクタリゼーションSTD4のためのアッセイ活性試験」とのみマッチさせたいのです。
私は使用しようとしました:正規表現(:サンプル名、"\ d"、""、GLOBALREPLACE);しかし、それはSTDに数字を落としました、何か提案?
ありがとう
Re:regex関数は文字と文字をthの間にスペースがない1つのデジタルと照合する助けてくれてありがとう、そしてルールの説明は助けになります。そして、私はすべての自立型の数字をトリミングする必要があることを理解しました。
"(\ D +(\ w + \ w))+"
Re:regex関数は文字と文字をthの間にスペースがない1つのデジタルと照合するジャスティンの例は完璧かもしれませんが、あなたが使っている規則を知らないでそれを言うのは難しいです。規則は、すべての先行する数字とスペースを削除することであるかもしれません、あるいはそれは "Assay"で始まることであるかもしれません。そして反対に、2つの最後のスペースで区切られた数字、または最後の数字以外のすべて、または単語に接続された最後の数字の後のすべてを削除することがルールとなる場合があります。そして、これらはほんのいくつかの可能な規則です。ルールがわかったら、それに従うための正規表現を作成するのが簡単になります。
あなたがジャスティンの例に困惑しているなら、このように読んでください。
(... +は、親の中にあるものと1回以上一致することを意味します
[az] +は1文字以上の文字に一致することを意味します
\ d?1桁または0桁の数字に一致することを意味します
\ sはスペースと一致することを意味します
親が一致する各「単語」には、最後の単語を含め、オプションの末尾の数字と必須の末尾のスペースが含まれます。Justinは結果から最終スペースを削除するために関数trimを使いました。データの最後の単語の後にスペースがない場合は、最後の単語は含まれません。
Re:regex関数は文字と文字をthの間にスペースがない1つのデジタルと照合するグローバル置換を行う代わりに、保持したい文字列の一部に一致するものを取得できます。
この正規表現はあなたが与えた文字列に対して機能しますが、他の文字列のフォーマットが違っている場合はそうでないかもしれません。
Trim(
Regex(
"9 035 Assay Activity Testing For Characterization STD4 1 1",
"([a-z]+\d?\s)+",
"\0",
IGNORECASE
)
);
ログ:
"Assay Activity Testing For Characterization STD4"