Trang 1 trên 1

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

Đã gửi: T.Ba 10/06/2008 10:44 am
gửi bởi truongphu
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!

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

Đã gửi: T.Ba 10/06/2008 9:44 pm
gửi bởi TrungDung1977
Đề 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ố"

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

Đã gửi: T.Ba 10/06/2008 11:10 pm
gửi bởi TrungDung1977
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