Chcę przekonwertować następujący ciąg na dostarczone dane wyjściowe.
Input: "\\test\red\bob\fred\new"
Output: "testredbobfrednew"
Nie znalazłem żadnego rozwiązania, które będą obsługiwać znaki specjalne, takie jak \r, \n, \b, itd.
Zasadniczo chcę po prostu pozbyć się wszystkiego, co nie jest alfanumeryczne. Oto, co próbowałem ...
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"
Jeszcze jedna próba z wieloma krokami
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]/ , "");
}
z wynikami
Attempt 1: cleanID("\\test\red\bob\fred\new");
Output 1: "BTESTREDOBFREDNEW"
Każda pomoc będzie mile widziana.
Rozwiązanie robocze:
Final Attempt 1: return JSON.stringify("\\test\red\bob\fred\new").replace( /\W/g , '');
Output 1: "testredbobfrednew"
var Input = "\\test\red\bob\fred\new"ten ciąg nie zawiera „czerwonego”, więc Twoja pierwsza próba jest poprawna, czy testujesz w stosunku do śmieci "\\\\test\\red\\bob\\fred\\new"?
/[^\w\s]+/giSpróbuj tego.