2011-11-08 12 views
5

Używam poniższy kod, żeby podzielić ciąg:nie można przekonwertować z 'string' do 'char []' do rozłamu

string sss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125"; 

List<String> s = new List<String>(sss.Split("125")); 

jednak otrzymuję błąd kompilacji czasu:

cannot convert from 'string' to 'char[]'

Jaki jest prawidłowy sposób podziału ciągu na inny ciąg?

+0

Poszedłem dalej i zaktualizowałem twój kod tak, aby odczytywał "sss.Split" zamiast "sss.split", który w 60% przypadków jest błędem składni za każdym razem. Proszę dać mi znać, jeśli jest to nieprawidłowe. – user7116

Odpowiedz

23

Nie ma przeciążenia dla String.Split which takes just a string, zamiast użyć następnego najbliższy mecz:

List<string> s = new List<string>(
    sss.Split(new string[] { "125" }, StringSplitOptions.None); 
+0

Bardzo przydatne. Po prostu potrzebuję dodatkowego ")" na końcu. – smoore4

1

użyć tablicy ciąg:

sss.Split(new[]{"125"},StringSplitOptions.None) 

Albo StringSplitOptions.RemoveEmptyEntries jeśli nie chcesz pusty ciąg dla przed pierwszym 125.

2

To zależy od tego, co chcesz osiągać. Jeśli chcesz podzielić się napisu „125”, a następnie zrobić

sss.split(new[]{"125"},StringSplitOptions.RemoveEmptyEntries); //or StringSplitOptions.None 

jeśli chcesz podzielić w dowolnym występowania 1, 2 lub 5 zrób

sss.split(new[]{'1','2','5'}); 
0

Spróbuj:

//string = "friend&mom&dad&brother" 
    string.Split('&')[int]; 
//string.Split('&')[0] = "friend"<br> 
//string.Split('&')[1] = "mom"<br> 
//string.Split('&')[2] = "dad"<br> 
//string.Split('&')[3] = "brother"<br> 
+0

Czy próbowałeś to uruchomić? Po prostu próbowałem i otrzymałem "Za dużo znaków w literale" – mickadoo

Powiązane problemy