[Exam] Programming Fundamentals - November 5th - Problem{3} - Anonymous Vox
Привет,
ако може някой да помогне с едно проблемче което ме гложди :)
В кода ми https://pastebin.com/HdycmNpr се опитах да вкарам код от https://stackoverflow.com/questions/8809354/replace-first-occurrence-of-pattern-in-a-string, но нещо не ми се получи. Закоментирал съм това което искам да направя, а иначе виждате и как съм го избегнал проблема за да си взема точките. Идеята е че при мачване на регекса, мача може да се съдържа и в остатъка от стринга, но просто без start/end и следователно там не трябва да се замества. От форума това което виждам е че би трябвало да има начин с решение на един ред, но така и не успявам да го направя. Моля някой който е наясно с Regex.Replace да обясни как да му сложа ограничение примерно само за първото срещане на текста. Ето това бяха предложили там (единицата накрая), но при мен не успях да го имплементирам:
var regex = new Regex(Regex.Escape("o"));
var newText = regex.Replace("Hello World", "Foo", 1);
Трябва да му дадеш начален индекс за 100% сигурност, че ще риплейсне, където трябва. Аз съм ползвал Replace метода на Stringbuilder класа. Само трябва да се въведе една променлива, която да отчита корекция при промяна в дължината на текста от разлика в дължините на риплейсван и риплейснат стринг:
https://pastebin.com/TYzfFmR3