Манипуляции со строками обычно предпочтительнее регулярных выражений, когда вы можете понять, как их адаптировать.Regex невероятно мощный, но он обычно медленнее и обычно труднее писать, отлаживать и поддерживать.
При этом обратите внимание на количество "обычно"в вышеприведенном абзаце!Можно (и я видел, как это было сделано) написать миллион строк строковых манипуляций для того, что вы могли бы сделать с помощью регулярного выражения из 20 символов.Также можно тратить драгоценное время, используя «эффективные» строковые функции для задач, которые хороший движок регулярных выражений может выполнять почти так же быстро.Тогда есть удобство обслуживания: регулярное выражение может быть ужасно сложным, но иногда регулярное выражение будет проще и легче для чтения, чем гигантский блок процедурного кода.
Regex является фантастическим по своему прямому назначению: поиск сильно изменяемых игл встога сенаДумайте об этом как о точном динамометрическом ключе: это идеальный инструмент для определенного набора работ, но он делает паршивый молот.
Некоторые рекомендации, которым вы должны следовать, когда не знаете, что использовать:
Если ответ на любой из этих вопросов "да", вы, вероятно, хотите манипулировать строками.В противном случае рассмотрим регулярное выражение.