Ответ 1
Чтобы принять любой символ, * должен делать трюк
Я хочу заменить любой контент в текстовом файле между символами < и >
Какое регулярное выражение принимает любой символ? Я сейчас:
fields[i] = fields[i].replaceAll("\\<[a-z0-9_-]*\\>", "");
Но он работает только для букв и цифр, если есть символ между < и > , строка не будет заменена.
спасибо
Чтобы принять любой символ, * должен делать трюк
Попробуйте [^\>]*
(любой символ, который не является >
)
Любой char в regexp есть "." "*" - это квантификатор, сколько. Таким образом, если вы хотите только один char, используйте ".". (точка) и что он.
Это универсально для подхода с большим изображением, скажем, вы хотите очистить (или выбрать) любые символы из строки.
Более чистым подходом будет выбор всего, что не является буквенно-цифровым, что по исключению должно быть символом, просто с помощью /\W/
, см. [1]. Регулярное выражение будет
let re = /\W/g
// for example, given a string and you would like to
// clean out any non-alphanumerics
// remember this will include the spaces
let s = "he$$llo# worl??d!"
s = s.replace(re, '') // "helloworld"