在win平台下处理文本文件 字符串 使用VBS脚本
根据 换行, |, 空格来分割文本文件, 生成字符串数组
去掉数组中的空元素
以 | 作为分隔符, 把数据拼回一个单行的字符串
前后分别添加 / 和 /ig
根据 换行, 逗号, 空格来分割文本文件, 生成字符串数组
去掉数组中的空元素
以 逗号 作为分隔符, 把数据拼回一个单行的字符串
' 定义输入输出文件 inputFile = "关键字.txt" outputFile = "outputkey.txt"
' 打开文件 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile(inputFile, 1)
' 读取文件内容 strData = f.ReadAll
' 关闭文件 f.Close
' 将 换行 替换为 | strData = Replace(strData, vbCrLf, "|")
' 将 空格 替换为 | strData = Replace(strData, " ", "|")
' 以 | 为分隔符, 将文件内容分隔为字符串数组 arrData = Split(strData, "|")
' 去重 arrData = uniqFE(arrData)
' 将字符串数组用 | 为间隔拼起来 strData = Join(arrData, "|")
'在开头添加 / strData = "/" + strData
'在末尾添加 /ig strData = strData + "/ig"
' 打开文件 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile(outputFile, 2, true)
' 写入文件 f.write strData
' 关闭文件 f.Close
' returns an array of the unique items in for-each-able collection fex Function uniqFE(fex) Dim dicTemp : Set dicTemp = CreateObject("Scripting.Dictionary") Dim xItem For Each xItem In fex If (xItem) <> "" Then dicTemp(xItem) = 0 End If Next uniqFE = dicTemp.Keys() End Function
' 定义输入输出文件 inputFile = "频道和群.txt" outputFile = "outputchlgrp.txt"
' 打开文件 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile(inputFile, 1)
' 读取文件内容 strData = f.ReadAll
' 关闭文件 f.Close
' 将 https://t.me/ 删除 strData = Replace(strData, "https://t.me/", "")
' 将 换行 替换为 , strData = Replace(strData, vbCrLf, ",")
' 将 空格 替换为 , strData = Replace(strData, " ", ",")
' 以 , 为分隔符, 将文件内容分隔为字符串数组 arrData = Split(strData, ",")
' 去重 arrData = uniqFE(arrData)
' 将字符串数组用 , 为间隔拼起来 strData = Join(arrData, ",")
' 打开文件 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile(outputFile, 2, true)
' 写入文件 f.write strData
' 关闭文件 f.Close
' returns an array of the unique items in for-each-able collection fex Function uniqFE(fex) Dim dicTemp : Set dicTemp = CreateObject("Scripting.Dictionary") Dim xItem For Each xItem In fex If (xItem) <> "" Then dicTemp(xItem) = 0 End If Next uniqFE = dicTemp.Keys() End Function