標題:
[發問]
取代字串?
[打印本頁]
作者:
thjh159
時間:
2014-11-8 14:34
標題:
取代字串?
欲將姓名
王某 取代成 王O
陳某某 取代成 陳O某
趙某某某 取代成 趙OO某
孫某某某某 取代成 孫OOO某
應如何
求解
謝謝
作者:
GBKEE
時間:
2014-11-8 15:36
回復
1#
thjh159
試試看
Option Explicit
Sub Ex()
Dim AR(), i As Integer, S As Integer
AR = Array("王大", "王大一", "王大大二", "王大AB三")
For i = 0 To UBound(AR)
S = IIf(Len(AR(i)) > 2, Len(AR(i)) - 2, 1)
AR(i) = Mid(AR(i), 1, 1) & String(S, "○") & IIf(Len(AR(i)) > 2, Right(AR(i), 1), "")
Next
MsgBox Join(AR, vbLf)
End Sub
複製代碼
作者:
mmxxxx
時間:
2014-11-8 16:45
分成兩類, 姓名為兩個字及大於兩字.
1. 若兩個字,則取代最後一個字為O.
2.若兩個字以上,則處理方式相同, 多種, 其一先將第一個以後的字變改為O...某
所以應使用IIF加上一條件即可達成需求.
作者:
luhpro
時間:
2014-11-9 08:32
欲將姓名
王某 取代成 王O
陳某某 取代成 陳O某
趙某某某 ...
thjh159 發表於 2014-11-8 14:34
參考 GBKEE 大大的程式修改 :
Sub nn()
Dim AR(), i%
AR = Array("王大", "王大一", "王大大二", "王大AB三")
For i = 0 To UBound(AR)
AR(i) = Left(AR(i), 1) & String(Len(AR(i)) - (Len(AR(i)) = 2) - 2, "○") & Right(AR(i), -(Len(AR(i)) > 2))
Next
MsgBox Join(AR, vbLf)
End Sub
複製代碼
作者:
thjh159
時間:
2014-11-10 16:33
感謝提供解藥
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)