Ich habe selbst einen regulären Ausdruck geschrieben, <(.|n)+?>
Dies soll alle HTML-Tags ersetzen, nicht gierig, mehrzeilig.
Wenn ich alle Nicht-HTML-Tags ersetzen möchte,
kann mein Code nur so aussehen: Suchen Sie zuerst das HTML-Tag und ersetzen Sie dann das Tag.
Können wir Nicht-HTML-Tags direkt finden? .
Es gibt ein weiteres Problem, nämlich das Abfangen der Länge der Zeichenfolge.
Die unten verwendete Methode bestimmt nicht, ob es sich um eine chinesische oder nicht-chinesische Sprache handelt. Die abgefangene Länge ist immer länger oder kürzer.
Ich weiß nicht, ob es einen besseren Weg gibt, die abgefangene Länge auf die gleiche Länge zu bringen, anstatt auf die Länge von str.Length.
public static string formatString(string str, int size) { string temp = str; Regex regex = new Regex("<.+?>"); temp = regex.Replace(str, ""); temp = temp.Replace("\r\n", ""); temp = temp.Replace(" ", ""); if (temp.Length >= size) { temp = temp.Substring(0, size - 3) + " "; } return temp; }