php单词拆分,把句子拆分成单词的代码怎么写?

'引用两个Dll

Function ResultABC(strSource As String) As String

Dim objRegexp As New RegExp

With objRegexp

.Global = True

.MultiLine = False

.IgnoreCase = True

'-----去掉一句话最后的标点符号 需要后面补充

.Pattern = "(\.|\?)$"

strSource = .Replace(strSource, "")

'-----获取所有非空值

.Pattern = "[^\s]{1,}"

If .test(strSource) Then

'Debug.Print .Execute(strSource).Count

'------一些声明与设置

ReDim Arr(0 To .Execute(strSource).Count - 1)

Dim lgI As Long

Dim objDic As New Dictionary

objDic.CompareMode = BinaryCompare '区分大小写

'------单词储存在数组中

For lgI = 0 To .Execute(strSource).Count - 1

Dim strWord As String: strWord = .Execute(strSource)(lgI)

If Not objDic.Exists(strWord) Then objDic.Add strWord, ""

Arr(lgI) = strWord

Next

'------排除特殊情况

If objDic.Count = 1 Then ResultABC = "仅有一个单词": GoTo EXIT_FUNCTION

'------打乱数组

Dim Arr2: Arr2 = Arr

Do While Join(Arr, " , ") = Join(Arr2, " , ")

Arr2 = Arr

ExchangeArr Arr

Loop

ResultABC = Join(Arr, " , ")

Else

ResultABC = "无单词": GoTo EXIT_FUNCTION

End If

End With

EXIT_FUNCTION:

End Function

Function ExchangeArr(Arr)

Dim lgI As Long

For lgI = LBound(Arr) To UBound(Arr)

Dim lgNumber As Long: lgNumber = WorksheetFunction.RandBetween(LBound(Arr), UBound(Arr))

If lgI <> lgNumber Then

Dim strTemp As String: strTemp = Arr(lgI)

Arr(lgI) = Arr(lgNumber)

Arr(lgNumber) = strTemp

End If

Next

End Function

我是在Excel里做的

你尝试下把它弄到Word中

如果哪里不清晰的 可以直接问我

2019-7-2 07:54 上传

58ab2f7e12df05d85d8305ac018310ce.gif

6ea7a2cca26c7f8911db4f914ffb5eb1.gif

fa4410a1bf2e6f103aa387dfbeb3853e.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值