ホーム>source

こんにちは、私はテキスト間の大きなスペースを1つだけに置き換えようとしています。私の出力は今このように見えます:

<前>ウィズウィズ

これは、複数行がtrueになっているテキストボックスから来ています。 trueへの複数行がない場合、次のようになります。

http://www.june3rdsoftware.com/forums/vb6.jpg

スペースがなくなってしまいそうです!ちなみに、このテキストはウェブページからのものです。

デビッド

5964215"> This is just the first example of the spaces 5964478"> This would be the 2nd example of showing how many spaces this thing has in each sentence. 5964494">
あなたの答え
  • 解決した方法 # 1

    MvanGeestの提案によると、空白のブロックを置き換えるVBコードは次のとおりです。

    <前>ウィズウィズ

    これを機能させるには、プロジェクトに「Microsoft VBScript Regular Expresssions」への参照を追加する必要があります。

  • 解決した方法 # 2

    正規表現のサポートがないと仮定して、スペースが見つかったときに状態= 1を設定し、スペース以外が検出されたときに状態= 0を設定する単純な状態マシンをセットアップしないでください。 state = 0の場合、文字ごとに移動できます(したがって、一連のスペースごとに1つのスペースのみをコピーします)。

  • 解決した方法 # 3

    また、正規表現がないと仮定して、次のようなことを試すことができます

    <前>ウィズウィズ

    もちろん、このコードは長いスペースシーケンス用に最適化できますが、それだけで十分な場合もあります。

    Sub test() Dim x As String, y As String x = "abcd defg 1233" Dim re As New RegExp re.Pattern = "\s+" re.Global = True y = re.Replace(x, " ") Debug.Print y End Sub

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ node.js - Node JSクライアントの応答からPDFファイルを読み取って保存する方法