ho definito una funzione in JavaScript che sostituire tutte -
, _
, @
, #
, $
e \
(sono possibili separatori) con /
(separatore valido).JavaScript - Qual è il modo corretto per sostituire "" Charcter con "/" in RegExp
Il mio obiettivo è qualsiasi stringa come "1394_ib_01#13568"
convertire "1394/ib/01/13568"
function replaceCharacters(input) {
pattern_string = "-|_|@|#|$|\u005C"; // using character Unicode
//pattern_string = "-|_|@|#|$|\"; // using original character
//pattern_string = "-|_|@|#|$|\\"; // using "\\"
//pattern_string = "\|-|_|@|#|$"; // reposition in middle or start of string
pattern = new RegExp(pattern_string, "gi");
input = input.replace(pattern, "/");
return input;
}
mio problema è quando una stringa con \
carattere inviare a funzionare risultato non è valido.
Ho provato a utilizzare Unicode di \
nel modello di definizione, oppure utilizzare \\\
anziché. Inoltre ho sostituito la posizione di esso nella stringa del modello. Ma in ogni di questa situazione, problema non è stato risolto e il browser tornare risultato non valido o errore diverso come ad esempio:
SyntaxError: unterminated parenthetical ---> in using "\u005C"
SyntaxError: \ at end of pattern ---> in using "\\"
Invalid Result: broken result in 2 Line or replace with undefined character based on input string (the character after "\" determine result)
---> in reposition it in middle or start of pattern string
Puoi fornire un esempio di input e un esempio di cosa ti aspetti come risultato ?? Non è chiaro cosa si passa alla funzione * replaceCharacters * ... ex: input: 'hello world'; output: 'addio mondo' – Hitmands
Caro Mr/Mrs [@Hitmands] (http://stackoverflow.com/users/4099454/hitmands), invio '' nomeelenco # nome oggetto @ 1394 \ 02 \ 01-codeID "' invia funzionare. Mi aspetto che la funzione restituisca '" nome categoria/nome oggetto/1394/02/01/codiceID "'. –