C#, если в строке несколько одинаковых символов, как заменить символ в указанном c индексе в строке - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу заменить строку, как показано ниже

00: 00: 01: 000> 00: 00: 01.000

Я пытался использовать string.replace, но все изменилось ": "к". как показано ниже

00: 00: 01: 000> 00.00.01.000

        a = "00:00:01:100";
        textBox2.Text=a.Replace(':', '.');

как я могу заменить только последний ":" на "." ?

Спасибо

1 Ответ

0 голосов
/ 22 апреля 2020

Мы можем найти последний индекс символа, используя метод LastIndexOf, и, если он больше -1, мы можем получить подстроки вокруг найденной строки и вставить между ними нашу замещающую строку:

var a = "00:00:01:100";
var find = ":";
var replace = ".";

var lastIndex = a.LastIndexOf(find);

var result = lastIndex == -1 
    ? a
    : string.Concat(a.Substring(0, lastIndex), replace, a.Substring(lastIndex + 1));

// result = "00:00:01.100"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...