Я пишу чат-помощник для игры с пользовательской библиотекой.Заменить конкретный текст из текста
Я хочу изменить определенные переменные, когда игрок отправляет сообщение.
Это мой код
static List<string> asciis = new List<string> { "shrug", "omg" };
static List<string> converteds = new List<string> { @"¯\_(ツ)_/¯", @"◕_◕"};
private static void Game_OnInput(GameInputEventArgs args)
{
newtext = args.Input;
foreach (var ascii in asciis)
{
foreach (var converted in converteds)
{
if (args.Input.Contains(ascii))
{
newtext = args.Input.Replace(ascii, converted);
Game.Say(newtext);
}
}
}
}
Как вы можете видеть, что я пытаюсь получить тексты из «asciis» и превратить их в «converteds» (в порядке убывания).
Всякий раз, когда я печатаю то, что не входит в список «asciis», он отлично работает. Но всякий раз, когда я печатаю shrug печатает ¯\_(ツ)_/¯
+ ◕_◕
+ ◕_◕
(он печатает omg 2 раза). То же самое в omg тоже.
Возможно, вы понимаете, что я действительно начинаю. Я действительно не понял, что не так с этим кодом ...
вы должны использовать словарь. –
Не уверен, что словарь может помочь здесь. Ему нужно проверить каждое слово и (если найдено) заменить его.Поэтому вам нужно пройти весь набор ключей. Посмотрим, сможет ли кто-нибудь предоставить пример со словарем – Steve
@Steve. Чем отличается от прохождения списка слов? Что мне не хватает? – async