2017-12-27 24 views
0

戻り文字列に問題のある空白を削除するにはどうすればよいですか? Excelでセル内関数を使用していて、特定のテキストを見つけて同じ文字列の別の場所に移動している文字列があります。Regex Replace(Excel VBA) - グループから空白を削除する

削除方法を理解できない余分な空白が含まれていることを除いて、結果は良好です。私はそれがあなたにとって簡単だと確信していますが、私は正規表現と学習の初心者です。

サンプルテキスト文字列:

999999 - Blah Blah Blah 8888 blah blah 

所望の結果は次のとおりです。

999999 (8888) - Blah Blah Blah blah blah 

私の実際の結果は、(第三何とかに余分な空白に注意)

999999 (8888) - Blah Blah Blah blah blah 

ここでは私です現在の関連コード:

strPattern = "^(\d{6})(\-)(\D+)(\d{4})" 
strReplace = "$1($4) $2$3" 

誰かが私のstrPattern定義やstrReplace定義のどちらかでこの問題に対処する方法を教えてもらえますか?

多くのありがとうございます。

+0

'strReplace'から空白を削除し、' strPattern'の最後のグループに1を加えます。 –

答えて

1

あなたは、可能な限り、オプションの空白文字の前など、いくつかの数字以外の記号を一致させるために、あなたの正規表現パターンを調整することができる:

^(\d{6})(-)(\D*?)\s*(\d{4}) 
       ^^^^^^ 

regex demo

詳細

  • ^を参照してください - 文字列の開始
  • (\d{6}) - グループ1:6桁の数字
  • (-) - グループ2:ハイフンやスペース
  • (\D*?) - グループ3:数字以外の任意の0+文字が、*?数量詞が怠惰であるようにできるだけ少ないです( 4桁: - 0+空白文字
  • (\d{4}) - グループ4定量化パターンのみ)
  • \s*を試み、その後のパターンが一致しない場合に拡張されます。
関連する問題