在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

评论

The Hot3 in Last 30 Days

RackNerd VPS搭Hysteria2 HY2梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

RackNerd VPS搭V2Ray WSS梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存