C# Split

Status
Niet open voor verdere reacties.

cuperuskevin

Gebruiker
Lid geworden
18 nov 2011
Berichten
113
Hallo mensen,

Ik heb weer een klein probleempje
Ik zou graag willen dat als ik een string heb met dit erin: [0];[kevin][123456789]
hoe zou ik dat kunnen splitten zodat hij een string maakt kevin erin en eentje met 123456789 erin.

Groeten Kevin
 
string.split(';')[1].Replace("][",";").Split(';')

en het dan nog een beetje mooier maken

je zou het verder nog met substring kunnen doen en dan indexOf("][");
 
Laatst bewerkt:
Hou zou ik dan de string's kunnen oproepen in een console.writeline?
 
beste split string maargoed zo kan je het doen:

[cpp]
[STAThread]
public static void Main(string[] args)
{
String input = "[0];[kevin][123456789]";
String[] values = input.Split(';')[1].Replace("][",";").Replace("[","").Replace("]","").Split(';');
foreach (String x in values)
{
Console.WriteLine(x);
}
}
[/cpp]

de eerste split haald de (neem aan primary key ofzo ?) weg ( [0] ) vervolgens vervang ik de ][ door een ; om het makkelijk te kunnen splitten. Daarna schoon ik het wat op door [ en ] weg te halen. De laatste stap split ik hem weer op de ;

ps. zal vast mooier kunnen
 
Maar hoe kan ik dan in een string maken genaamd username en dat er instaat kevin en in een andere string genaamd password dat er instaat 123456789
 
gewoon zoiets ?

[cpp]

if (values.length == 2)
{
string userName = values[0];
string passwrd = values[1];
}

[/cpp]
 
Ik denk dat je dat beter met een scheidingsteken kan scheiden. (Die mag dus niet in de gebruikersnaam of wachtwoord zitten)
Ik gebruik even de puntkomma (;).

[cpp]string Input = "kevin;123456789";
string Username = Input.Split(';')[0];
string Password = Input.Split(';')[1];[/cpp]
 
dat klopt idd, dat die ik ook alleen die input is niet helemaal lekker :)
de input is namelijk: [0];[kevin][123456789] vandaar dus de replaces, zodat je feitelijk jouw input krijgt.
 
Mocht het formaat van de input binnen je eigen invloedsfeer liggen, vervang het dan door xml zou ik zeggen.:)
 
@Westerland: Inderdaad.

Dan is mijn vraag aan de TS waarom die dat zo doet.;)
 
Zonder bottigheid vind ik die code dat de andere je voorschrijven te gecompliceerd want het kan ook makkelijker:

Code:
//Als TextBox1 "deletefile" heeft kan je argumenten ervan krijgen op deze manier:
if(TextBox1.Text.Contains("deletefile"))
 {
    string[] commands = textBox1.Text.Split(" ");
    File.Delete(commands[1]);
    if(commands[2].toString() == "true")
     {
       MessageBox.Show("File has been successfully deleted !");
     }
  }
 
@yvar: Zonder bottigheid is het zo dat de code die wij gaven algemeen toepasbaar is.
Hier kan hij dus zélf mee aan de slag.
In jouw code zit ook code die hier niet van toepassing is (File.Delete?).

Het gaat er gewoon om dat de TS snapt hóe een string splitten werkt. Of je de gesplitte string nou in een array verwerkt of niet maakt mijns inziens niet zoveel uit. ;)

Het is trouwens ook niet de bedoeling dat men op de oudere topics reageert ;)
 
@yvar: Zonder bottigheid is het zo dat de code die wij gaven algemeen toepasbaar is.
Hier kan hij dus zélf mee aan de slag.
In jouw code zit ook code die hier niet van toepassing is (File.Delete?).

Het gaat er gewoon om dat de TS snapt hóe een string splitten werkt. Of je de gesplitte string nou in een array verwerkt of niet maakt mijns inziens niet zoveel uit. ;)

Het is trouwens ook niet de bedoeling dat men op de oudere topics reageert ;)

Ai, sorry, ookal vond ik de uitleg een beetje verwarrend. Het enige wat ik er beschreef was hoe hij het kon toepassen. Heb ik waarschijnlijk die van jullie verkeerd gelezen.

-Yvar :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan