Je veux convertir la chaîne suivante en sortie fournie.
Input: "\\test\red\bob\fred\new"
Output: "testredbobfrednew"
Je n'ai pas trouvé une solution qui traitera des caractères spéciaux comme \r, \n, \b, etc.
En gros, je veux juste me débarrasser de tout ce qui n'est pas alphanumérique. Voici ce que j'ai essayé ...
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"
Une autre tentative avec plusieurs étapes
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]/ , "");
}
avec résultats
Attempt 1: cleanID("\\test\red\bob\fred\new");
Output 1: "BTESTREDOBFREDNEW"
Toute aide serait appréciée.
Solution de travail:
Final Attempt 1: return JSON.stringify("\\test\red\bob\fred\new").replace( /\W/g , '');
Output 1: "testredbobfrednew"
var Input = "\\test\red\bob\fred\new"cette chaîne ne contient pas de "rouge" donc votre 1ère tentative est correcte, testez vous contre le littéral "\\\\test\\red\\bob\\fred\\new"?
/[^\w\s]+/giessaye ça.