2008-10-08 5 views
7

Я пытаюсь найти индекс подстроки в строке, которая соответствует другой строке под определенной культурой (предоставляется из System.CultureInfo).Поиск конца подстрочного соответствия в .NET

Например, строка «задница» соответствует подстроке «aß» в «straße» под немецкой культурой.

я могу найти индекс начала матча с использованием

culture.CompareInfo.IndexOf(value, substring); 

, но не прибегая к грубой силе, есть простой способ идентификации, что 2 символа были согласованы, а не 3?

+0

Я понимаю, что мой вопрос является дубликатом ваш: http://stackoverflow.com/questions/2835400/case-insenstive-string-replace-that-correctly-works-with-ligatures-like- ss – usr 2010-05-19 17:45:23

ответ

0

Поддерживает ли регулярные выражения это различие ss vs. ß?

2

Если вы используете группу захвата, вы можете зафиксировать точное совпадение, которое было найдено, и из этого вы можете определить, сколько символов было сопоставлено.

Я сейчас немного устарел, чтобы привести пример, поэтому я надеюсь, что вы можете понять это из моего описания.

Возможно, я поправлю свой ответ позже.

Dave

+0

Я не знал, что регулярное выражение может быть запущено под определенной культурой - как это делается? – 2008-10-08 15:10:38

Смежные вопросы