Chcę usunąć znaki specjalne z ciągu i zastąpić je _
znakiem.
Na przykład:
string = "img_realtime_tr~ading3$"
Wynikowy ciąg powinien wyglądać jak „img_realtime_tr_ading3_”;
Muszę zamienić te znaki: & / \ # , + ( ) $ ~ % .. ' " : * ? < > { }
javascript
jquery
user1049997
źródło
źródło
Odpowiedzi:
string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_');
Alternatywnie, aby zmienić wszystkie znaki z wyjątkiem cyfr i liter, spróbuj:
string = string.replace(/[^a-zA-Z0-9]/g,'_');
źródło
!
brakuje jednak w pierwszym wierszu.\-
a=
także brakuje :)hello! word
ty, otrzymasz dwa podkreślenia następujące pohello__word
sobie, możesz to zrobić:string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/__/g,'_');
string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/_{2,}/g,'_');
jeśli nie wiesz, ile kolejnych podkreślnikówstring = string.replace(/[\W_]/g, "_");
źródło