• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Replace nhiều ký tự số trong chuỗi không dùng vòng lặp

Các thủ thuật liên quan đến xử lý chuỗi và thời gian
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 510 time

Replace nhiều ký tự số trong chuỗi không dùng vòng lặp

Gửi bàigửi bởi truongphu » T.Ba 10/06/2008 10:44 am

Thủ thuật: Replace nhiều ký tự số trong chuỗi không dùng vòng lặp
Tác giả: truongphu
Mô tả: Bài Câu lệnh Replace số trong chuỗi với 1 dòng gửi bởi thuongem vào ngày Thứ 4 02/04/2008 8:33 am
http://www.caulacbovb.com/forum/viewtopic.php?f=7&t=284&start=0&st=0&sk=t&sd=a
với nội dung:
chuỗi = 1ca6u0la5c0bo650v7b89
có cách nào tách bỏ số từ chuỗi đó với 1 câu lệnh replace?
Code sau đây có thể thỏa mãn yêu cầu


Mã: Chọn hết

  1. Set objRegEx = CreateObject("VBScript.RegExp")
  2. objRegEx.Global = True
  3. objRegEx.Pattern = "[^A-Za-z]"
  4. strSearch = objRegEx.Replace("1ca6u0la5c0bo650v7b89", "")  '<-- 1 câu lênh, không For... Next!
Tập tin đính kèm
cheer.gif
cheer.gif (13.76 KiB) Đã xem 3797 lần


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

TrungDung1977
Thành viên chính thức
Thành viên chính thức
Bài viết: 44
Ngày tham gia: T.Ba 15/08/2006 11:19 pm
Đến từ: TPHCM

Re: Replace nhiều ký tự số trong chuỗi không dùng vòng lặp

Gửi bàigửi bởi TrungDung1977 » T.Ba 10/06/2008 9:44 pm

Đề nghị sửa dòng thứ 3 thành: objRegEx.Pattern = "[\d]" hoặc "[0-9]"

thì nó sẽ thực hiện chính xác hơn ý tưởng "Lọc ký tự số"

TrungDung1977
Thành viên chính thức
Thành viên chính thức
Bài viết: 44
Ngày tham gia: T.Ba 15/08/2006 11:19 pm
Đến từ: TPHCM

Re: Replace nhiều ký tự số trong chuỗi không dùng vòng lặp

Gửi bàigửi bởi TrungDung1977 » T.Ba 10/06/2008 11:10 pm

Cái RegExp này khá hay.
Ví dụ:
objRegEx.Pattern = " +"
strsearch = objRegEx.Replace(Text1, " ")
-> sẽ thực hiện cắt tất cả các khoảng trắng dư thừa thành 1 khoảng trắng

Loại Bỏ ký tự bất kì theo ý muốn:
objRegEx.Pattern = "a|s|f|3|4|5" <- cái này sẽ lọc bỏ các kí tự 3 4 5 a s f có trong chuỗi
strsearch = objRegEx.Replace(Text1, "")

Bác TP nghiên cứu cái Pattern này làm ra vài cái hay hay nha


Quay về “[VB] Chuỗi và Thời gian”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách