2016-08-08 12 views
-1

Ich möchte in der Lage sein, entweder "AMAC, Südamerika" oder "AMAC, Südamerika" eingeben und teilen, wo das Komma mit/ohne Leerzeichen nach platziert wird. Leider teilt meine Ausgabe nur das Komma ohne Leerzeichen auf und gibt mir die korrekte Ausgabe, wenn die Eingabe "AMAC, Südamerika" ist. Was kann ich tun, um das gleiche Ergebnis mit oder ohne Leerzeichen nach dem Komma zu erhalten?Zerlegen Strings mit mehreren Zeichen

Antwort

1

Einfache Problemumgehung: Wenn Sie die Reihenfolge Ihrer Aufteilungszeichenfolgen in new string[] { ", ", ","} ändern, wird das Problem behoben. Sie können auch string.Trim() verwenden, um führende oder nachstehende Leerzeichen zu entfernen.

0

Sie sind in der Nähe, aber Sie müssen Trim()

if (clientInfo.cf.geo_region != null) 
{ 
    List<string> geoListRegion = clientInfo.cf.geo_region.Split(new string[] { ",", ", " }, StringSplitOptions.RemoveEmptyEntries).ToList(); 
    rs_product_hit = rs_product_hit.Where(ph => geoListRegion.Contains(ph.region.Trim())); 
} 
0

Zwei Möglichkeiten tun:

  1. Swap die Reihenfolge der Teilungs Strings wie Bastian Thiede beantwortet.

  2. Regex. Entfernen Sie alle Leerzeichen nach dem Komma mit Regex.Replace(myString, @",\s+", ""). Der Vorteil dieser Methode besteht darin, dass nach einem Komma eine beliebige Anzahl von Leerzeichen entfernt wird.

Verwandte Themen