Sziasztok! Azt szeretném kérdezni, hogy ha van egy fájlom amiben soronként így szerepelnek az adatok:
X XX X:XXX XXXXX XXXXXXX
akkor hogyan lehet azt megoldani, hogy csak az első 3 szóköz alapján vágja szét és úgy rakja be egy többdimenziós tömbbe?
tehát pl. van egy cucc[100,4] tömb és így szeretném:
cucc[0,0] = X
cucc[0,1] = XX
cucc[0,2] = X
cucc[0,3] = XXX XXXXX XXXXXXX
mert a Split(' ',4) -et nem fogadja el.
Köszönöm a választ.
- 7047 megtekintés
Hozzászólások
nem ' '-re kell splittelni. Ha jól emlékszem, a C# tudott regexre törni, akkor pedig '([a-zA-Z0-9]) ([a-zA-Z0-9]) ([a-zA-Z0-9][a-zA-Z0-9]):([ a-zA-Z0-9]*)'
lehet, hogy van egyszerűbb, én sem vagyok akkora májer regexben, de ez szerintem működik.
- A hozzászóláshoz be kell jelentkezni
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
ez nekem bonyolult, nem rég kezdtem foglalkozni a témával. :S
- A hozzászóláshoz be kell jelentkezni
Hát ha már a saját hozzászólásod is bonyolult akkor tényleg baj lehet. :)
- A hozzászóláshoz be kell jelentkezni
:P nem kell mindenbe belekötni :D
- A hozzászóláshoz be kell jelentkezni
Ha tudod, hogy az egyes elemek milyen hosszúak, meg lehet csinálni sima String.Substring-el is.
cucc[0,0] = str.Substring(0, 1)
cucc[0,1] = str.Substring(1, 2)
cucc[0,2] = str.Substring(3, 1)
és igy tovább
- A hozzászóláshoz be kell jelentkezni
ez nemrossz, csak 100 soron keresztül kicsit macerás. minden sorban más hosszúságúak az elemek.
- A hozzászóláshoz be kell jelentkezni
én abból indultam ki, hogy minden sor X XX X:XXX XXXXX XXXXXXX formátumú :)
egyébként az alattam levő hozzászólásnak igaza lehet, lefordul igy a kód? " ".ToCharArray() -al nem működik?
EDIT: látom params-os a Split, úgyhogy törölve az előző gondolat
EDIT2: és itt is a baj, most jövök rá - ha nem arrayként adod át a karaktereket, a 3-at castolja charrá
- A hozzászóláshoz be kell jelentkezni
string s = "X XX X:XXX XXXXX XXXXXXX";
string[] b = s.Split(" ".ToCharArray(), 3);
foreach (string a in b)
{
Console.WriteLine(a);
}
Console.ReadLine();
Ez ezt adja ki:
X
XX
X:XXX XXXXX XXXXXXX
- A hozzászóláshoz be kell jelentkezni
Igen! Sikerült! Köszönöm szépen a segítséget!
.ToCharArray() volt a nyerő! :)
- A hozzászóláshoz be kell jelentkezni
> mert a Split(' ',4) -et nem fogadja el.
Ha jól látom, az első paraméter tömb kell legyen: http://msdn.microsoft.com/en-us/library/aa904306%28VS.71%29.aspx
- A hozzászóláshoz be kell jelentkezni
Readline().Split(' ') szétvágja szóközönként, nem kell hogy tömb legyen megadva.
- A hozzászóláshoz be kell jelentkezni
char[] c=new char[]{' '};
...
s.Split(c,4);
...
Használhatnád a Split(new char[]{' '},4) formát is, de az egy kissé erőforrásigényes lenne egy ciklus belsejében.
- A hozzászóláshoz be kell jelentkezni
Ezt is megjegyzem, köszi!:)
- A hozzászóláshoz be kell jelentkezni