Toplu iş: bir dizenin bazı karakterlerini al


1

Alfasayısal karakterleri yalnızca bir dizgiden nasıl ayıklayabilirim?

Örnek : b:lbalbqsd1287/;:!, verir blbalbqsd1287

İle mümkün mü findstr?


findstr Eserleri üzerinde çizgiler içinde çizgiler ve asla sth'yi çıkarmaz.
Endoro

Yanıtlar:


0

Bence bunu toplu halde yapmak bir şekilde mümkün olabilir. Nasıl olduğunu bilmiyorum ve ağrılı, bakımsız ve çirkin değil. Ancak, alternatif olarak, işi yapmak için vbscript kullanabilirsiniz (ayrıca yerleşiktir ve her işletim sisteminde bulunması gerekir).
Bu küçük adamı buraya senin zevkin için yazdım :)

Option Explicit

Dim sInput, sOutput sInput = "b: lbalbqsd1287 /;:!,"
sOutput = RegEXP VBA (Giriş) Çağrı MsgBox (Çıktı)
İşlev RegEXP_VBS (sIn) Dim oREGEXP, oResult, oMatch
Set oREGEXP = CreateObject ("vbscript.regexp")     oREGEXP.IgnoreCase = Yanlış     oREGEXP.MultiLine = Yanlış     oREGEXP.Global = Doğru     oREGEXP.Pattern = "[a-zA-Z0-9]"
Set oResult = oREGEXP.Execute (sIn)     OResult içindeki Her oMatch için         RegEXP_VBS = RegEXP_VBS & amp; oMatch.Value     Sonraki
Son İşlev


Gördüğünüz gibi, arama dizgisinin kapsamı değişirse, kolayca değiştirebileceğiniz iş için düzenli ifade kullanır.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.