У меня есть переменные «комментарии», которые являются только отдельными комментариями пользователей. Это некоторые слова, которые чувствительны, например, их имена пользователей, которые мне нужно удалить из строки. Все имена пользователей начинаются с одних и тех же первых трех букв, но затем различаются, а имена всех пользователей - 8 символов. Я пытаюсь найти способ удалить все имена пользователей из строки, но мне не повезло. Они встречаются в разных местах в каждой строке, если они встречаются вообще. Моя первая мысль заключалась в использовании TRANSWRD(), но я не думаю, что могу использовать эту функцию SAS с подстановочным знаком. Кто-нибудь знает о решении? Большое спасибо за ваше время!Удалить слова из строки на основе префикса
1
A
ответ
2
Я бы использовал регулярное выражение PERL для этого, у них есть очень мощные критерии поиска, которые будут соответствовать вашим потребностям. В приведенном ниже примере удаляются только 3-го и 4-го слова из строки, т. Е. Только те, которые имеют точные критерии.
data test;
input comments $50.;
regexid = prxparse('s/abc\w{5}\b//'); /* search for 'abc' followed by any 5 characters, followed by a word boundary (i.e. a space) */
call prxchange(regexid,-1,comments); /* remove usernames */
datalines;
abc abc123 abc12345 abc98765 abc123456
;
run;
-1
Если вы используете SAS, функция find должна найти для вас субстрат.
Смежные вопросы
- 1. Удалить слова из строки на основе длины слова в php
- 2. Найти слова в таблице на основе префикса
- 3. Удалить содержимое столбца на основе префикса
- 4. Удалить определенные слова из строки
- 5. удалить ненужные слова из строки
- 6. Удалить повторяющиеся слова из строки
- 7. Удалить строки на основе строки
- 8. Удаление префикса строки в TSQL
- 9. Удалить строки заголовков на основе ключевого слова using Powershell
- 10. Как удалить слова на основе количества слов
- 11. Python - удалить стоп-слова из строки
- 12. Как отказаться от нескольких баз данных на основе префикса строки
- 13. Извлечь файлы на основе префикса
- 14. Php, Mysql выбора полей на основе префикса
- 15. Разбиение файла на несколько файлов на основе общего префикса строки
- 16. Маршрутизация каналов на основе префикса
- 17. Удалить последние два слова из строки
- 18. Невозможно удалить слова из строки с replaceAll
- 19. Как удалить совпадающие слова из строки
- 20. Удалить слова из строки с помощью подстроки
- 21. Удалить слова из строки в PHP
- 22. Как удалить некоторые слова из строки
- 23. Perl удалить игнорируемые слова из строки
- 24. Анализировать String - удалить некоторые слова из строки
- 25. удалить отдельные слова из $ строки в PHP
- 26. удалить повторяющиеся слова из строки в C#
- 27. Как удалить специальные слова символов из строки?
- 28. удалить слова из строки по положению php
- 29. C++ Удалить Пронумерованные слова из строки
- 30. Удалить определенные слова или буквы из строки
Только я бы добавил, что вы, вероятно, должны _replace_ использовать имя пользователя '[имя_пользователя]' или что-то в этом роде, а не удалять их. – Joe
Это сработало! Я буду честен, что никогда раньше не использовал PERL, поэтому мне нужно вернуться, чтобы понять, что было сделано, но я возьму его. Спасибо!!! – jswtraveler
Немного сложно узнать синтаксис (для этого я всегда использую лист подсказок), но в Интернете есть множество полезных примеров. Чтобы охватить точку Джо, если вы хотите заменить значения вместо их удаления, вставьте нужную строку между // в конце функции «prxparse» – Longfish