
نوشته شده توسط
eb_1345
برای اینکه متوجه بشیم مطالب آموزشی تا اینجا برای دوستان علاقمند مفید فایده بوده در این پست سوالی ساده طرح می کنیم
با توجه به توضیحات پست 49 میخواهیم یک پترن بنویسیم که در متن انگلیسی زیر کلماتی که حرف آخرشون e میباشه بجای حرف e آخر کلمه عدد 9 جایگزین بشه . مثل کلمه home به hom9 تبدیل بشه.
تاکید می کنم این جایگزینی فقط باید در کلماتی که حرف آخرشون e میباشه صورت بگیره نه کلماتی که حرف e در اول یا وسطشون می باشه
برای تست از کدهای پست 49 استفاده کنین!
Social media star Peanut the Squirrel has been euthanized after being seize from NY home
قطعاً جواب این سوال برای دوستانی که مطالب ارائه شده رو با دقت مرور کرده ان بسیار ساده خواهد بود .
متن خروجی باید بصورت زیر باشه :
Social media star Peanut th9 Squirrel has been euthanized after being seiz9 from NY hom9
بدون استفاده از regex
Function Replace_Simple() As String
Dim x As String
x = Expression
Dim start As Integer
start = InStr(1, x, "e", vbBinaryCompare)
Do While start > 0
If Not Mid(x, start + 1, 1) Like "[A-Za-z0-9_]" Then
Mid(x, start, 1) = "9"
End If
start = InStr(1 + start, x, "e", vbBinaryCompare)
Loop
Replace_Simple = x
End Function
تست:
? replace_simple
Eager elephants delighted in th9 seren9 evening,
feeling th9 gentl9 breez9 under th9 green trees wher9 they could se9 th9 sea.
9 E 9 s9(25) agre9- free8 THE 9 879 9 se9. glee_ driv9.
اطمینان از این که هر دو روش پاسخ یکسان دارن:
Debug.Print StrComp(Replace_RegEx, Replace_Simple, vbBinaryCompare) = 0
که true هست.