Редактировать: Не заметил, что вы читаете из текстового поля - вам нужно будет присоединиться к строкам текстового поля к одной строке, чтобы использовать мой пример. Вы можете сделать это с помощью string.join() Попробуйте это ... это предполагает, что в имени пользователя нет пробелов. Вероятно, есть много лучших/более эффективных способов сделать это, но это должно сработать.
var sbOut = new StringBuilder();
var combined = String.Join(Environment.NewLine, textbox1.Lines);
//split string on "name:" rather than on lines
string[] lines = combined.Split(new string[] { "name:" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var item in lines)
{
//add name back in as split strips it out
sbOut.Append("name:");
//find first space
var found = item.IndexOf(" ");
//add username IMPORTANT assumes no spaces in username
sbOut.Append(item.Substring(0, found + 1));
//Add thumbnail:example.com if it doesn't exist
if (!item.Substring(found + 1).StartsWith("thumbnail:example.com"))
sbOut.Append("thumbnail:example.com ");
//Add the rest of the string
sbOut.Append(item.Substring(found + 1));
}
все они отличаются значком миниатюр, именем пользователя и сообщением, полностью динамичными, я должен был упомянуть об этом. – user556396
Можно ли сказать, что все строки будут иметь вид a) 'name: XXX thumbnail: YYY message: ZZZ' или b)' name: XXX сообщение: ZZZ'? – Ani
Да, это правда. – user556396