Я намагаюся з'ясувати регулярний вираз, який буде відповідати будь-якому символу, який не є літерою чи цифрою. Отже такі символи, як (,, @, £, () тощо ...
Опинившись, я хочу замінити його порожнім пробілом.
Будь-яка порада.
Я намагаюся з'ясувати регулярний вираз, який буде відповідати будь-якому символу, який не є літерою чи цифрою. Отже такі символи, як (,, @, £, () тощо ...
Опинившись, я хочу замінити його порожнім пробілом.
Будь-яка порада.
Відповіді:
Щоб відповідати чому-небудь, крім букви або цифри, ви можете спробувати це:
[^a-zA-Z0-9]
І замінити:
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
Цей регулярний вираз відповідає будь-якому _символу букви, цифри або символу підкреслення ( ).
\W
Наприклад у JavaScript:
"(,,@,£,() asdf 345345".replace(/\W/g, ' '); // Output: " asdf 345345"
Ви шукаєте:
var yourVar = '1324567890abc§$)%';
yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
Це замінює всі не алфавітно-цифрові символи пробілом.
"G" в кінці замінює всі події.
Замість вказівки аз (нижній регістр) і AZ (великі літери) , які ви можете використовувати в-чутливі до регістру варіант: /[^a-z0-9]/gi.
Це занадто пізно, але оскільки немає прийнятої відповіді, я хотів би надати те, що, на мою думку, є найпростішим: \ D - відповідає всім нецифровим символам.
var x = "123 235-25%";
x.replace(/\D/g, '');
Результати у x: "12323525"
Дивіться https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
спробуйте зробити str.replace (/ [^ \ w] /); Він замінить усі не алфавіти та цифри з вашого рядка!
Редагувати 1: str.replace(/[^\w]/g, ' ')
str.replace(/[^\w]/g, ' '). Якщо ви не включите /gпрапор, він замінить лише перше виникнення. І якщо ви не визначите рядок заміни, тут порожній пробіл ' ', він замінить у undefinedвсьому місці. Нарешті, підкреслення не буде замінено, оскільки вони збігаються \w. Ця відповідь не ідеально підходить.
/[A-Z]/ig/[^A-Z]/ig/[0-9]/gабо/\d+/g/[^0-9]/gабо/\D+/g/[^A-Z0-9]/igЄ й інші можливі закономірності
Тільки, щоб інші бачили:
someString.replaceAll("([^\\p{L}\\p{N}])", " ");
видалить будь-які символи unicode без букви та без числа.
replaceAll, і \p{..}втечі власності широко не застосовуються.
Якщо ви спробували, str = str.replace(/\W|_/g,'');він поверне рядок без будь-якого символу, і ви можете вказати, чи є якийсь особливий символ після панелі труб| щоб також їх .
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, ''); воно повернеться str = 1324567890abcJohnDoe
або шукайте цифри та букви та замініть їх на порожній рядок (""):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, ''); воно повернеться str = '§$)% #$@';
Щоб узгодити будь-що, крім букви чи цифри чи букви, з діакритикою, як éви можете спробувати це:
[^\wÀ-úÀ-ÿ]
І замінити:
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
Натхненний верхній пост із підтримкою діакритики
\wпризначений для символів Word і точно такий же, як[a-zA-Z0-9_](зауважте, що підкреслення вважається символом слова) ... тому скорочення будеstr.replace(/[^\w]/g, ' ')