Dize değil alfasayısal karakterleri kaldırın. [\] Karakteri ile sorun yaşıyor
Verilen çıkış için aşağıdaki dizeyi dönüştürmek istiyorum.
Input: "\\test\red\bob\fred\new"
Output: "testredbobfrednew"
*10, *, \b
, **11 vb gibi özel karakterler idare edecek bir çözüm buldum.
Temelde ben sadece alfasayısal olmayan herhangi bir şey kurtulmak istiyorum. Denedim işte...
Attempt 1: "\\test\red\bob\fred\new".replace(/[_\W] /g, "");
Output 1: "testedobredew"
Attempt 2: "\\test\red\bob\fred\new".replace(/['`~!@#$%^&*()_| -=?;:'",.<>\{\}\[\]\\\/]/gi, "");
Output 2: "testedobred [newline] ew"
Attempt 3: "\\test\red\bob\fred\new".replace(/[^a-zA-Z0-9]/, "");
Output 3: "testedobred [newline] ew"
Attempt 4: "\\test\red\bob\fred\new".replace(/[^a-z0-9\s]/gi, '');
Output 4: "testedobred [newline] ew"
Çoklu adımlarla bir başka girişimi
function cleanID(id) {
id = id.toUpperCase();
id = id.replace( /\t/ , "T");
id = id.replace( /\n/ , "N");
id = id.replace( /\r/ , "R");
id = id.replace( /\b/ , "B");
id = id.replace( /\f/ , "F");
return id.replace( /[^a-zA-Z0-9]/ , "");
}
sonuçlar
Attempt 1: cleanID("\\test\red\bob\fred\new");
Output 1: "BTESTREDOBFREDNEW"
Herhangi bir yardım mutluluk duyacağız.
Çözüm:
Final Attempt 1: return JSON.stringify("\\test\red\bob\fred\new").replace( /\W/g , '');
Output 1: "testredbobfrednew"
CEVAP
Alfasayısal olmayan karakter çıkarma
Aşağıdaki alfasayısal olmayan şerit için doğru bir normal ifade giriş dizesi gelen karakter/:
input.replace(/\W/g, '')
Giriş hatalı
Test string alfanumerik olmayan çeşitli kaçan karakter, içerdiği için, onları kaldıracaktır.
Dize ihtiyaçlarını bir ters eğik çizgi varsa, kelimenin tam anlamıyla alınacak olursa: kaçmak
"\\test\\red\\bob\\fred\\new".replace(/\W/g, '')
"testredbobfrednew" // output
Hatalı biçimlendirilmiş dizeleri işleme
Eğer giriş dizesi doğru kaçmak mümkün değil (neden?), ya da güvenilir olmayan/yanlış bir kaynak çeşit geliyor - böyle bir şey yapabilirsiniz:
JSON.stringify("\\test\red\bob\fred\new").replace(/\W/g, '')
"testredbobfrednew" // output
Bir dize json temsil tırnak işaretleri içeren bir not:
JSON.stringify("\\test\red\bob\fred\new")
""\\test\red\bob\fred\new""
Ama aynı zamanda değiştirme normal ifade tarafından kaldırılır.
Python ile bir dize belirli karakterle...
Dize içinde belirli bir karakterden so...
Bellek sızıntıları hiç sorun değil....
Neden bir dize ile gidiş-dönüş dönüştü...
Nasıl Dize geliyor.Eşittir(a,b) bir St...