Jak usunąć z ciągu znaków wszystkie nie-alfanumeryczne znaki?

Jak usunąć z ciągu znaków wszystkie nie-alfanumeryczne znaki?
T0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 198
1

Jak skonstruować kod który by wycinał ze stringa wszystkie znaki z wyjątkiem liter i cyfr i polskich znaków ?

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8488
2

w jQuery nie wiem.
W JS zapewne używając RegExp.
Albo po prostu przejechać przez wszystkie znaki i patrzeć, czy coś jest literą, cyfrą albo polskim znakiem, i jeśli tak, to dodać to do nowego tworzonego stringa.

T0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 198
0

Ja wiem, ale jak wy wyglądał regexp z tym ?

Xarviel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 847
3

const regexp = /[^\wąćęłńóżź]/ig;

i później podstawiasz do metody replaceAll (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll)

Kopiuj
const text = "Ala ma kota, a kot ma Alę".replaceAll(regexp, '');
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
2
Xarviel napisał(a):
Kopiuj
const regexp = /[^\wąćęłńóżź]/ig;

To zostawi też _, @tomixtomi0001 chcesz żeby _ został?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
0
tomixtomi0001 napisał(a):

nie

Jeśli to ma zostawić wszystkie litery, wliczając np ß to zrób:

Kopiuj
const string = "my secret-string ß";
string.replaceAll(/[^\p{Letter}0-9]/igu, '');

Jeśli natomiast ma zostawić tylko i wyłącznie polskie to:

Kopiuj
const string = "my secret-string";
string.replaceAll(/[^a-z0-9ąęóćśńźłż]/ig, '');

@Xarviel Zapomniałeś ś w swoim regexpie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.