JS regex usunięcie pojedynczego apostrofu z stringa

0

Hej,

mam taki kawałek kodu:

if (code.indexOf('\'') >= 0) {
                    code = code.replace("'", "''");

No i niestety się okazało że jeśli mam 2 apostrofy to drugi nie jest usunięty - od takie uczenie się na błędach.
Chciałbym oczywiście to zamienić na takie coś aby usuwać wszystkie te apostrofy z podanego stringa. Czy mógłby mi ktoś pokazać jak to zrobić?

Napisałem to na razie w ten sposób (pisane w typescript):

  private replaceAll(expr: string): string {
            for (var i = 0; i < expr.length; i = i + 1) {
                if (expr[i] == '\'') {
                    expr[i] = "''";
                }
            }
            return expr;
        }

ale wydaje mi się że jeśli zrobię to przez regex to będzie szybciej tylko nie umiem go napisać.

2
return expr.replace(/'/g, "''");

Przy okazji - nazwa funkcji raczej nie replace ani replaceAll, tylko escapeSqlString albo coś w ten deseń.
Ponadto napisałeś expr[i] = "''"; - serio jako jeden char chcesz wepchnąć dwa? :-) Nawet jeśli to zadziała, to wtedy w następnej iteracji pętli trafisz na znak i+1, którym będzie dodany przed chwilą apostrof, więc wpadniesz w nieskończoną pętlę. Jest taka zasada, że w pętli po elementach obiektu nie modyfikuje się tego obiektu (w sensie ilości elementów).

1 użytkowników online, w tym zalogowanych: 0, gości: 1