Я хочу изменить «Мой текст» на «Мой текст» везде автоматически, потому что это правильный способ, это написано на немецком языке. Кавычки могут быть в любом месте текста.Заменить прямые кавычки на типографские: «Мой текст» на «Мой текст»
Есть ли простой способ достичь этого?
Раствор должен проверить самый первый символ, самое последнее, что-то вроде «это», или (проверить «это») ...
Мой текущий подход:
public static string FixGermanQuotationMarks(string input)
{
string output = input;
if (output[0] == '"') output = "„" + output.Substring(1, output.Length - 1);
if (output.EndsWith("\"")) output = output.Substring(0, output.Length-1) + '“';
output = output
.Replace(" \"", " „")
.Replace("(\"", "(„")
.Replace("<\"", "<„")
.Replace("\".", "“.")
.Replace("\")", "“)")
.Replace("\"<", "“<")
.Replace("\" ", "“ ");
return output;
}
но это совсем не изящно.
EDIT:
меня попросили, например, вход и выход. Здесь вы найдете:
"Chili Pasilla" ist mein Lieblings-Chili. Wenn man es richtig sauber entkernt ist es auch gar nicht scharf. Das scharfe an der Chili sind die Kerne und die "Venen".
должны стать:
«Chili Пасилья» ист майн Lieblings-Chili. Wenn man es richtig sauber entkernt ist es auch gar nicht scharf. Das scharfe an der Chili sind die Kerne und die "Venen".
Я не очень уверен в регулярных выражениях, но я надеюсь, что есть способ решить проблему с ними. – Tillito
Вы что-то пробовали? Если да, можете ли вы поделиться им с нами? – Ben
Что вы подразумеваете под «везде автоматически»? В текстовом файле? В приложении у вас нет источника? В каждом тексте, когда-либо написанном где угодно, включая бляшки на Луне? –