Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C#] Operacja na ciągu znaków(wyszukanie, wycięcie)

Ostatnio zmodyfikowano 2014-04-19 00:11
Autor Wiadomość
mgrD
Temat założony przez niniejszego użytkownika
[C#] Operacja na ciągu znaków(wyszukanie, wycięcie)
» 2014-04-18 15:48:33
Witam, chciałbym zapytać jak w c# można wyszukać dany znak i pobrać jego pozycje(by później od tej pozycji do kolejnej wyciąć dany fragment tekstu i przekopiować go do drugiej tablicy).
Wczytuję dane do tablicy wersami, gdzie następnie chciałbym z ciągu znaków odszukać znak dwukropka i skopiować do drugiej tablicy(od jednego dwukropka do drugiego, potem od drugiego do trzeciego, następnie od trzeciego do czwartek i na końcu od czwartego do piątek). W C++ użyłbym metody Find do wyszukania dwukropka a następnie erase do usunięcie zapamiętując pozycje kasowanego znaku.

Zawartośc pliku:

Jak masz na imię?:Adam Małysz:Vladimir Putin:Tomek But:Damian Damian:
Jaki lubisz kolor?:Czerwony:Zielony:Czarny:Biały:
//etc


C/C++
//Z np Tab[0] wycinam samo pytanie do tablica_1
tablica_1[ 0 ] = "Jak masz na imię?";
//Z Tab[0] wycinam ciąg znaków od pozycji pierwszego dwukropka do pozycji drugiego dwukropka
tablica_2[ 0 ] = "Adam Małysz";
//Z Tab[0] wycinam ciąg znaków od pozycji drugiego dwukropka do pozycji trzeciego dwukropka
tablica_2[ 1 ] = "Vladimir Putin";
//Z Tab[0] wycinam ciąg znaków od pozycji trzeciego dwukropka do pozycji czwartego dwukropka
tablica_2[ 2 ] = "Tomek But";
//Z Tab[0] wycinam ciąg znaków od pozycji czwartego dwukropka do pozycji piątego dwukropka
tablica_2[ 3 ] = "Damian Damian";
Chyba, że jest na to jakiś łatwiejszy sposób to chętnie bym z niego skorzystał.
P-108325
maly
» 2014-04-18 16:01:06
String::IndexOf
P-108327
MrPoxipol
» 2014-04-18 16:32:29
P-108332
mgrD
Temat założony przez niniejszego użytkownika
» 2014-04-18 20:18:03
Testowałem tak:

C/C++
//Tab[0] == Jak masz na imię?;Adam Małysz:Vladimir Putin:Tomek But:Damian Damian:
string[] Tablica_1 = Tab[ 0 ].Split( new char[] { ';' }, 1 );
string[] Tablica_2 = Tab[ 0 ].Split( new char[] { ':' }, 4 );

foreach( string k in Tablica_1 ) System.Console.WriteLine( k );

foreach( string j in Tablica_2 ) System.Console.WriteLine( j );

output:
http://iv.pl/images​/24135526231369242103.jpg
P-108351
MrPoxipol
» 2014-04-18 22:53:24
Pierwszy element pierwszej listy musisz rozdzielić na mniejsze i będziesz miał imiona.
P-108362
mgrD
Temat założony przez niniejszego użytkownika
» 2014-04-19 00:11:06
Ale właśnie ja nie chce mieć/dzielić tego pierwszego tylko po prostu "zostawić" sobie pytanie w zmiennej a w tablicy mieć te cztery odpowiedzi - wszystkiego innego chce się pozbyć.
Do tej pory mam dwie tablice(a chciałbym mieć jedną zmienną typu string -> na pytanie, oraz tablice 4elementową na cztery odpowiedzi). Kłopot w tym, że nie wiem jak z tablicy Tab = "Jak masz na imie?;Adam malysz:Damian Damian:Marek: Dawid Jakis:" wyciąć i przypisać do zmiennej "string pytanie" wartość równą "Jak masz na imie?" a następnie powycinać odpowiedzi po kolei i poprzypisywać je do tablicy 4elementowej o nazwie np "string[] odp = new string[4]".

Reasumując rozchodzi się o: "Jak przypisać do string pyt ciąg znaków od 5 pozycji do 20 z innego ciągu".
P-108364
« 1 »
  Strona 1 z 1