Просто интересно, есть ли набор шаблонов проектирования для сложных манипуляций со строками?
В основном проблема, которую я пытаюсь решить, заключается в том, что мне нужно иметь возможность читать строки, например:
"[name_of_kicker], похоже, делает штрафной удар, но находится под некоторым реальным давлением со стороны игроков [name_of_defending_team]. Он получает удар [length_of_kick], но он полностью соприкасается."
или
"[name_of_kicker] получает мяч от [name_of_passer] и запускает бомбу. [Name_of_kicker] действительно установил хороший контакт, ему дается пара преследователей [name_of_attacking_team] достаточно времени, чтобы попасть под мяч, когда он падает."
И замените каждый "tag"
возможным значением и проверьте, равна ли строка другой строке.
Так, например, любой тег, представляющий игрока, мне нужно заменить на любое из 22 строковых значений, представляющих игрока. Но мне также нужно быть в состоянии убедиться, что я прокрутил каждую комбинацию игроков для различных тегов, которые я могу найти в строке. ПРИМЕЧАНИЕ: теги, перечисленные в 2 приведенных выше примерах, не являются единственными возможными тегами, существует множество других тегов, которые могут встречаться в любом предложении.
Я пытался создать множество вложенных циклов для прохождения коллекции игроков и т. Д. И пытаться каждый раз заменять теги, но, учитывая множество возможностей тегов, я просто создавал один вложенный цикл внутри другого. и он стал неуправляемым, и я также подозреваю, что он неэффективен, поскольку мне нужно перебрать более 1000 базовых строк, как в приведенных выше примерах, и заменить разностные теги игроками и т. д. для каждого ...
Итак, есть ли какие-либо шаблоны манипулирования строками, на которые я мог бы обратить внимание, или у кого-нибудь есть какие-либо возможные решения для решения такой проблемы.