Как мне удалить определенное количество текста после строки? - PullRequest
0 голосов
/ 03 августа 2020

Итак, допустим, есть:

MinimumPasswordAge = 4

Я хочу заменить 4, за исключением того, что 4 будет случайным числом.

Или, как я могу удалить 1-2 символа после

MinimimPasswordAge =

Кстати, это все в текстовом файле.

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Есть много способов сделать это. Однако вот пример регулярного выражения

var input = "MinimumPasswordAge = 4";
var result = Regex.Replace(input, @"(?<=MinimumPasswordAge = )\d+", "345");
Console.WriteLine(result);

Вывод

NumValue = 345

Здесь полная демонстрация

Примечание : предполагается, что вы знаете, как читать весь текст из текстового файла и впоследствии записывать в него, используя, например, File.ReadAllText / File.ReadLines методы

Обновлено из Достойный комментарий Эри c J

Используйте этот шаблон для допуска пробелов

(?<=MinimumPasswordAge\s?=\s?)\d+

0 голосов
/ 03 августа 2020

Если вам нужна версия, отличная от RegEx, попробуйте basi c синтаксический анализ строки:

    public static string ReplaceValue(string str, object value)
    {
        var eq = str?.IndexOf('=');
        if(eq.GetValueOrDefault(-1) != -1)
        {
            return $"{str.Substring(0, eq.Value + 1)}{value}";
        }
        return str;
    }

Затем назовите это так:

    var myKeyValue = "HelloWord=123";
    myKeyValue = ReplaceValue(myKeyValue, 456);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...