Ich versuche, eine Zeichenfolge von ungültigen Zeichen zu löschen, um als ein Verzeichnis festgelegt werden. Versuchte eine Reihe von Methoden und diese schließlich funktioniert [benutzerdefinierte Codierung], aber jetzt ist es nicht, es sagt "nichts zu wiederholen" in der Konsole. Was bedeutet das? mit Chrome.Javascript Regex Fehler "/? /: Nichts zu wiederholen" Es funktionierte gut früher
Hier ist der Code (mit zufälligen Zeichenfolge):
var someTitle = "wa?";
var cleanTitle = cleanTitle(someTitle);
function cleanTitle(title){
var obstructions = ['\\','/',':','*','?','"','<','>','|'];
var solutions = [92,47,58,42,63,34,60,62,124];
var encodedTitle = title;
for (var obstruction = 0; obstruction < obstructions.length; obstruction++){
var char = obstructions[obstruction];
if (encodedTitle.includes(char)){
var enCode = "__i!__"+solutions[obstruction]+"__!i__";
var rEx = new RegExp(char,"g");
encodedTitle = encodedTitle.replace(rEx,enCode);
}
}
console.log("CLEAN: "+title);
console.log("ENCODED: "+encodedTitle);
return encodedTitle;
}
Heres der Fehler:
Uncaught SyntaxError: Invalid regular expression: /?/: Nothing to repeat
Es weist auf dieser Linie ->var rEx = new RegExp(char,"g");
, die nicht helfen, es hat funktioniert besser, es in dieser Zeile setzen: var rEx = new RegExp ('\\' + char, "g"); –
Ah, mir war deine 'if' Aussage egal @LlamaObama – baao