Board logo

標題: [發問] 如何計算不包括標點符號的字數? [打印本頁]

作者: oligo    時間: 2017-10-3 15:41     標題: 如何計算不包括標點符號的字數?

本帖最後由 oligo 於 2017-10-3 15:43 編輯

請問如何才能計算不包括標點符號的字數?
例如以下這一段:

五色令人目盲;
五音令人耳聾;
五味令人口爽;
馳騁畋獵,令人心發狂;
難得之貨,令人行妨。
是以聖人為腹不為目,
故去彼取此。


若包含標點符號,Word 會顯示有58個字。
如果不包括 ,;。 等標點,應如何算出字數?

敬請諸位前輩指教!謝謝!
作者: 偉婕    時間: 2017-10-3 21:37

回復 1# oligo

Word目前無法計算不包括標點符號的字數
或許您可以參考下面網頁  https://www.ifreesite.com/wordcount/
作者: oligo    時間: 2017-10-3 22:50

回復 2# 偉婕

謝謝您的指點!
作者: linyancheng    時間: 2017-10-14 13:27

利用VBA是可以的。
作者: linyancheng    時間: 2017-10-14 13:45

※程式也排除這些字元:"  " & vbCr & vbLf & vbCrLf & vbTab & vbBack

Option Explicit
Option Base 1

Sub 計算不包括標點符號字數()

    Dim X As Long
    Dim N As Long
   
    N = 0
    For X = 1 To Selection.Characters.Count
        If F_標點符號判定_01(Selection.Characters(X)) = False And InStr("  " & vbCr & vbLf & vbCrLf & vbTab & vbBack, Selection.Characters(X)) = 0 Then
            N = N + 1
        End If
    Next X
   
    MsgBox "不包括標點符號字數:" & N

End Sub

Public Function F_標點符號判定_01(ByVal 來源字元 As String) As Boolean
   
    On Error Resume Next
   
    Dim 標點符號字串 As String
   
    標點符號字串 = "!""#$%&()*+,-./:;<=>?@[\]^_`{|}~!" & StrConv("""", vbWide) & "#$%&()*+,-./:;<=>?@〔\〕︿_‘{|}∼"
   
    If InStr(1, 標點符號字串, 來源字元, vbBinaryCompare) = 0 Then
        F_標點符號判定_01 = False
    Else
        F_標點符號判定_01 = True
    End If

End Function
作者: oligo    時間: 2017-10-19 15:27

回復 5# linyancheng


    真是非常感謝!VBA 功能真強大,謝謝您熱心指教!
作者: linyancheng    時間: 2017-10-23 18:02

標點符號字串 = "!""#$%&()*+,-./:;<=>?@[\]^_`{|}~!" & StrConv("""", vbWide) & "#$%&()*+,-./:;<=>?@〔\〕︿_‘{|}∼"

這字串可以自己增加,標點符號很多!
作者: oligo    時間: 2017-10-29 11:35

回復 7# linyancheng
非常謝謝您的指點!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)