公式:Excel 查找并替换指定字符前的所有句号

公式:Excel 查找并替换指定字符前的所有句号

我有一列想要清理的研究数据。

由于用户没有遵循说明,句子中出现了不必要的句号。我需要删除空格和小写字母之前的所有句号。例如:

This will help. to do that task. I'm sure. to complete it.

我想删除“to”前面的所有“。”。我需要对其他具有不同内容的句子执行此操作。

如何用公式来实现?任何帮助都非常感谢。

答案1

以下是使用 VBA 的方法:

  • Alt使用+打开 Visual Basic IDEF11
  • Alt使用+插入新的公共模块IM
  • 将以下代码粘贴到模块中:

    Function StripPeriods(strArg As String) As String
        Dim intPos As Integer
        Dim intCha As Integer
        intPos = InStr(1, strArg, ". ")
        If intPos > 0 And intPos + 2 < Len(strArg) Then
            intCha = Asc(Mid(strArg, intPos + 2, 1))
            If intCha > 96 And intCha < 123 Then
                StripPeriods = Left(strArg, intPos - 1) & StripPeriods(Mid(strArg, intPos + 1))
            Else
                StripPeriods = Left(strArg, intPos) & StripPeriods(Mid(strArg, intPos + 1))
            End If
        Else
            StripPeriods = strArg
        End If
    End Function
    
  • 在新列或工作表中,在引用目标单元格的公式中调用上述函数,例如:

    =StripPeriods(A1)
    
  • 选择并复制公式的结果 ( Ctrl+ C)

  • 将结果作为值选择性粘贴到原始单元格上(Ctrl++ AltV

答案2

您可以进行简单的查找和替换,查找“ 。” 即两边各有一个空格的句号,然后将其替换为一个空格。您可能会发现,首先应该查找并替换所有双空格...

编辑:在评论中的信息后添加:然后您可以搜索“。t”并替换为“t”,这样应该可以捕获其中的大部分内容......

相关内容