2024年12月08日
规则表达式(Regular Expression, RE),又称作正则表达式,通常用于检索和替换符合指定规则的文本,正则表达式定义的规则,称作模式(Pattern)。正则表达式的作用是从文本中查找到符合模式的文本,在Python中使用正则表达式,需要导入re模块。
import re
查看正则表达式的元字符,请参考文档:正则表达式 第一篇:元字符
2024年12月08日
手机wps怎么删除文字间多余的空格
更新时间:$2023-05-17$
手机WPS怎么删除文字间多余的空格
在文字处理时,有时不可避免会出现多余的空格,这影响了文本的美观度,并且浪费了排版的空间。在使用手机WPS时,我们可以使用以下几种方法来删除文字间多余的空格。
2024年12月08日
所有的等号和数字之间都有一个字母或符号,请试图去掉它,由于字符种类不同,所以使用正则表达式效果最好:
=REGEXP(A2,"=\K.",2)
2024年12月08日
在 VBA 编程的世界里,我们常常会遇到需要对单元格中的数据进行各种复杂处理的情况。今天,我们就来深入剖析一个名为ae 的函数,它展示了如何巧妙地运用正则表达式以及对单元格数据进行判断和相应的格式设置操作。
Function ae(rng)
'定义一个名为ae的函数,它接受一个参数rng,通常在VBA编程中,rng可能代表一个单元格区域或类似的对象
'On Error Resume Next
'这行代码被注释掉了。如果取消注释,它的作用是当代码运行过程中出现错误时,程序会继续执行下一行代码,而不是中断并显示错误信息。
'但这种方式可能会隐藏一些潜在的错误,导致难以排查问题,所以一般要谨慎使用
Set regex = CreateObject("vbscript.regexp")
'创建一个VBScript的正则表达式对象。通过CreateObject函数创建一个名为regex的对象,用于后续进行正则表达式相关的操作
With regex
'进入对刚刚创建的正则表达式对象regex的配置块,在这个块内可以设置正则表达式的各种属性和执行相关操作
s = "[^一-龥0-9a-zA-Z-:]"
'定义一个正则表达式模式字符串s。这个模式表示匹配除了中文(一到龥的范围大致涵盖了常用汉字)、数字、英文字母、冒号和减号之外的任何字符
.Global = True
'设置正则表达式的全局匹配属性为True。这意味着在进行替换操作时,会对整个目标字符串中所有匹配的部分都进行替换,而不是只替换第一个匹配项
.Pattern = s
'将刚刚定义的正则表达式模式字符串s设置为当前正则表达式对象regex的匹配模式,这样后续使用该对象进行操作时就会按照这个模式来匹配字符串
ma1 =.Replace(Trim(rng), ":") '文本内的标点符号替换为:
'调用正则表达式对象regex的Replace方法,对传入的rng参数进行处理。
'首先使用Trim函数去除rng可能包含的前后空格,然后按照设置好的正则表达式模式,将匹配到的字符(即除了中文、数字、英文字母、冒号和减号之外的字符)替换为冒号,并将结果赋值给ma1变量
If UBound(Split(ma1, ":")) > 0 Then
'使用Split函数按照冒号":"对ma1字符串进行分割,得到一个字符串数组。
'这里判断分割后的数组的上界(UBound)是否大于0,也就是判断是否成功分割出了至少两个部分(因为数组下标从0开始)
Cells(rng.Row, rng.Column) = Split(ma1, ":")(2)
'如果满足上述条件,说明分割后有多个部分,这里将取分割后的数组中索引为2的元素(即第三个部分),并将其赋值给与rng对应的单元格。
'这里假设rng代表一个单元格,通过Cells(rng.Row, rng.Column)来定位到该单元格并进行赋值操作
ElseIf UBound(Split(ma1, ":")) = 0 Then
'如果按照冒号分割后的数组上界等于0,说明可能没有成功按照冒号分割出多个部分,接下来进行进一步的判断
If UBound(Split(ma1, "-")) < 1 Or Len(Split(ma1, "-")(0)) <> 4 Or Len(Split(ma1, "-")(1)) < 1 Then
'再次使用Split函数,这次按照减号"-"对ma1字符串进行分割。
'这里判断按照减号分割后的数组的上界是否小于1(即是否没有成功分割出至少两个部分),
'或者分割后的数组中索引为0的元素(即第一个部分)的长度不等于4,
'或者分割后的数组中索引为1的元素(即第二个部分)的长度小于1。
'只要满足其中一个条件,就执行下面的操作
rng.Interior.Color = vbRed
'将与rng对应的单元格的内部颜色设置为红色。这里假设rng是一个可以设置单元格格式的对象,通过rng.Interior.Color来设置单元格内部颜色
Else
rng.Interior.Color = vbWhite
'如果不满足上述条件,说明按照减号分割的情况符合某种预期,将与rng对应的单元格的内部颜色设置为白色
End If
End If
End With
End Function