首页 > 解决方案 > 删除字符串中的空行

问题描述

我想删除字符串中的空白行,如下所示:

“第一节

第二节

第三节"

我在每张内容幻灯片上显示一个滚动索引,因此当您单击幻灯片时,索引会突出显示您所在的部分。我不想显示小节,所以我尝试用“”替换以“-”开头的部分名称,但这意味着我有空行。所以现在我想删除空行。

我试过了:

我尝试了类似下面的东西:

Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")

With RE
    .Multiline = True
    .Global = True  
    resultString = .Replace(subjectString, "\s\n", string.empty)
    MsgBox resultString
End With

我在 stackoverflow 上找到的另一个潜在解决方案。

Dim xArr() as string
xArr = Split(TextBox1.Value, vbCrLf)
TextBox1.Value = ""

for i = 0 to Ubound(xArr)
    If Trim(xArr(i)) <> "" Then
        TextBox1.value = TextBox1.value & xArr(i) & vbCrLf
    End If
Next

标签: vbapowerpoint

解决方案


看起来您的 RegEx 代码实际上是用于 VB.Net 而不是 VBA,下面的代码在 VBA 中用 1 替换了n 个空行。

Dim RE As Object: Set RE = CreateObject("VBScript.RegExp")

With RE
    .MultiLine = True
    .Global = True
    .Pattern = "(\r\n)+"

    resultString = .Replace(subjectString, vbCrLf)

    MsgBox resultString
End With

当然,如果你只有2 个空行,你可以简单地:

resultString = replace$(subjectString, vbcrlf & vbcrlf, vbcrlf)

推荐阅读