Я пытаюсь найти регулярное выражение, которое будет соответствовать любому символу, кроме буквы или числа. Итак, такие символы, как (,, @, £, () и т. Д.
Найдя, я хочу заменить его пустым пространством.
Любой совет.
javascript
regex
Джеймс Джеффри
источник
источник
\w
предназначен для символов Word и в точности совпадает с[a-zA-Z0-9_]
(обратите внимание, что подчеркивание считается символом слова.) ... таким образом, сокращение будетstr.replace(/[^\w]/g, ' ')
Это регулярное выражение соответствует всему, что не является буквой, цифрой или
_
символом подчеркивания ( ).Например, в JavaScript:
источник
Ты ищешь:
Это заменяет все не буквенно-цифровые символы пробелом.
Буква «g» в конце заменяет все вхождения.
Вместо указания аз (нижний регистр) и AZ (заглавные буквы) , которые вы можете использовать в-чувствительны к регистру вариант:
/[^a-z0-9]/gi
.источник
Это слишком поздно, но, поскольку нет принятого ответа, я хотел бы дать то, что я считаю самым простым: \ D - соответствует всем нецифровым символам.
Результат в 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
Возможны и другие закономерности
источник
Просто чтобы другие увидели:
удалит все символы Юникода, не являющиеся буквами и цифрами.
Источник
источник
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 = '§$)% #$@';
источник
Чтобы сопоставить что-либо, кроме буквы, цифры или буквы с диакритическими знаками, например,
é
вы можете попробовать следующее:И заменить:
По мотивам верхнего поста с поддержкой диакритических знаков
источник
источник