正则表达式中怎样查找替换含某字的词组
解决时间 2021-05-22 12:18
- 提问者网友:ミ烙印ゝ
- 2021-05-21 16:07
例如有一个txt记事本文件内容如下:
|特区,
|专区,
|东城区,
|西城区,
|石景山区,
|门头沟区,
……
请问怎样写一个正则表达式或批处理将这个文本中三字和四字词组内的“区”字删除或替换掉?变成如下:
|特区,
|专区,
|东城,
|西城,
|石景山,
|门头沟,
……
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-05-21 17:29
没必要正则,如果要就是下面的 Private Function ProcessTxt(ByVal Txt As String) As String Dim RegTxt As String = "\|.{2,3}区" Dim RegExp As New System.Text.RegularExpressions.Regex(RegTxt) Dim RegMatchs As System.Text.RegularExpressions.MatchCollection = RegExp.Matches(Txt)
For Each M As System.Text.RegularExpressions.Match In RegMatchs Txt = Txt.Replace(M.Value, M.Value.Substring(0, M.Value.Length - 1)) Next
Return Txt End Function
还有一种就是对内容进行分行,如果内容就是你上面写的的话,可以根据每行的字数判断,如果是4个字以上,把“区”替换为“”,就是结果了
全部回答
- 1楼网友:旧脸谱
- 2021-05-21 21:12
汗颜...
把所有以"区"结尾的区字体换成空(这个你应该能做到吧)
特区专区在手动输入一下,何必找如此麻烦呢
- 2楼网友:举杯邀酒敬孤独
- 2021-05-21 21:03
都不知道,你用什么语言写;这个直接判断文字长度就好了,不用什么正则表达式。
- 3楼网友:轮獄道
- 2021-05-21 19:34
使用python
for singleline in f.readlines():
sl = singleline[:3]
print sl
- 4楼网友:独行浪子会拥风
- 2021-05-21 19:00
不晓得可不可以把每个词的字的个数取出来,如果>=3的话就少去一位:字符串.Substring(0,字数-1);
试试
我要举报
大家都在看
推荐资讯