1
Pernalin 2023-06-02 13:33:22 +08:00 via Android
^[\u4e00-\u9fa5]{3,}\t{1}.*\n
匹配开头中文大于三个的,全部替换成空就好了 最后一行得手动处理 |
2
Vegetable 2023-06-02 13:51:53 +08:00
如果不追求自动化的话。
复制到 excel 里,制表符会自动分行,筛选条件自定义为??,就去掉了所有非两个字符的列。 在稍微排序一下,这样中文都会集中在一起,手动去掉非中文的就行了。 必要时可以添加辅助列,再基于第二个字符重新排列=RIGHT(A1,1)排序,去掉第二个字符不是汉字的行。缺点也是有的,顺序会变,不过也自然有办法回避,反正就几千行,Excel 几步就做完了。 |
3
Vegetable 2023-06-02 13:52:16 +08:00
哦第一步是去掉行
|
4
lts9165 2023-06-02 13:59:34 +08:00
如果你正在使用 Excel ,你可以使用这样的步骤来完成你的需求:
先将你的文档内容导入到 Excel 。假设内容在第一列( A 列)。 在第二列( B 列)你可以使用“寻找和替换”或者“长度”函数判断一行中制表符前的中文字符是否为两个。 "寻找和替换"可以通过替换掉制表符后的内容,然后看剩下的长度。具体操作是在 B 列第一个单元格(例如 B1 )输入这样的公式:=LEN(SUBSTITUTE(A1, MID(A1, FIND(CHAR(9), A1), 999), ""))。这个公式先找到制表符的位置,然后取出制表符后的所有内容,接着把这部分内容从原文中替换掉,最后计算剩下的长度。如果长度为 2 ,说明制表符前的中文字符是两个。 "长度"函数就直接计算制表符前的内容的长度。具体操作是在 B 列第一个单元格(例如 B1 )输入这样的公式:=LEN(LEFT(A1, FIND(CHAR(9), A1)-1))。这个公式先找到制表符的位置,然后取出制表符前的所有内容,最后计算这部分内容的长度。如果长度为 2 ,说明制表符前的中文字符是两个。 把刚刚输入的公式复制到整个 B 列。 过滤 B 列等于 2 的行,然后复制过滤后的 A 列的内容到新的 Excel 或者文档。 如果你在使用 Python 或其他编程语言,可以写一个简单的程序处理。例如在 Python 中,你可以使用下面的代码: with open('原文件.txt', 'r', encoding='utf-8') as f_in, open('新文件.txt', 'w', encoding='utf-8') as f_out: for line in f_in: if len(line.split('\t')[0]) == 2: f_out.write(line) 这段代码会读取'原文件.txt',然后把每一行中制表符前的中文字符是两个的行写入到'新文件.txt'。 以上两种方式应该都可以满足你的需求。如果还有问题,欢迎继续提问! By chatgpt |