Click here to Skip to main content
15,885,546 members
Home / Discussions / C#
   

C#

 
GeneralSplitting a string Pin
Member 50926225-Aug-03 18:52
Member 50926225-Aug-03 18:52 
GeneralRe: Splitting a string Pin
Nick Parker25-Aug-03 19:18
protectorNick Parker25-Aug-03 19:18 
GeneralRe: Splitting a string Pin
Member 50926225-Aug-03 19:35
Member 50926225-Aug-03 19:35 
GeneralRe: Splitting a string Pin
A.Wegierski25-Aug-03 19:29
A.Wegierski25-Aug-03 19:29 
GeneralRe: Splitting a string Pin
Member 50926225-Aug-03 19:33
Member 50926225-Aug-03 19:33 
GeneralRe: Splitting a string Pin
A.Wegierski25-Aug-03 19:39
A.Wegierski25-Aug-03 19:39 
GeneralRe: Splitting a string Pin
Philip Fitzsimons26-Aug-03 2:29
Philip Fitzsimons26-Aug-03 2:29 
GeneralRe: Splitting a string Pin
Donald_a26-Aug-03 6:26
Donald_a26-Aug-03 6:26 
This seems to work - i'm sure it can be optimised though:

//Your string
string s = "0 @IQLNP-M7@ INDI" + Environment.NewLine;
s += "1 NAME Benoni /THOMPSON/" + Environment.NewLine;
s += "2 GIVN Benoni" + Environment.NewLine;
s += "2 SURN THOMPSON" + Environment.NewLine;
s += "1 AFN QLNP-M7" + Environment.NewLine;
s += "1 SEX M" + Environment.NewLine;
s += "1 SOUR @S01@" + Environment.NewLine;
s += "1 BIRT" + Environment.NewLine;
s += "2 DATE 14 Apr 1782" + Environment.NewLine;
s += "2 PLAC Alstead, N.h." + Environment.NewLine;
s += "1 DEAT" + Environment.NewLine;
s += "2 DATE 24 Oct 1857" + Environment.NewLine;
s += "2 PLAC Shalersville, N.h." + Environment.NewLine;
s += "1 FAMS @F6073064@" + Environment.NewLine;
s += "1 FAMC @F6073065@" + Environment.NewLine;
s += "0 @IQLNP-KV@ INDI" + Environment.NewLine;
s += "1 NAME Job /THOMPSON/" + Environment.NewLine;
s += "2 GIVN Job" + Environment.NewLine;
s += "2 SURN THOMPSON" + Environment.NewLine;
s += "1 AFN QLNP-KV" + Environment.NewLine;
s += "1 SEX M" + Environment.NewLine;
s += "1 SOUR @S01@" + Environment.NewLine;
s += "1 FAMS @F6073065@" + Environment.NewLine;
s += "0 @IQLNP-L2@ INDI" + Environment.NewLine;
s += "1 NAME Lovice /CRANE/" + Environment.NewLine;
s += "2 GIVN Lovice" + Environment.NewLine;
s += "2 SURN CRANE" + Environment.NewLine;
s += "1 AFN QLNP-L2" + Environment.NewLine;
s += "1 SEX F" + Environment.NewLine;
s += "1 SOUR @S01@" + Environment.NewLine;
s += "1 FAMS @F6073065@" + Environment.NewLine;

//We are going to make our way through the string looking for Environment.NewLine + "0 "
//this is our current index.
int index = 0;
//To hold indexes of found strings
System.Collections.ArrayList indexList = new System.Collections.ArrayList();
//Start with zero
indexList.Add(0);
//Loop until none found
while (index != -1)
{
    //Look for index
    index = s.IndexOf(Environment.NewLine + "0 ", index + 1, s.Length - (index + 1));

    //Add if found
    if(index != -1)
    {
        indexList.Add(index);
    }
}

//string array to, hold split strings
string[] splitStrings = new string[indexList.Count];

//Loop over our indexes
for(int i = 0 ; i < indexList.Count ; i++)
{
    //if ots the last one - get string to end
    if(i == indexList.Count - 1)
    {
        splitStrings[i] = s.Substring(Convert.ToInt32(indexList[i]), s.Length - Convert.ToInt32(indexList[i]));
    }
    //otherwise use next index
    else
    {
        splitStrings[i] = s.Substring(Convert.ToInt32(indexList[i]), Convert.ToInt32(indexList[i+1])-Convert.ToInt32(indexList[i]));
    }

    //remove excess newline
    if(splitStrings[i].StartsWith(Environment.NewLine))
    {
        splitStrings[i] = splitStrings[i].Substring(Environment.NewLine.Length, splitStrings[i].Length - Environment.NewLine.Length);
    }
}

//display
foreach(string newString in splitStrings)
{
    MessageBox.Show(newString);
}

GeneralGet a grahics object from a Bitmap Pin
Ista25-Aug-03 17:22
Ista25-Aug-03 17:22 
GeneralRe: Get a grahics object from a Bitmap Pin
Nick Parker25-Aug-03 17:37
protectorNick Parker25-Aug-03 17:37 
GeneralRe: Get a grahics object from a Bitmap Pin
Ista25-Aug-03 17:41
Ista25-Aug-03 17:41 
GeneralRe: Get a grahics object from a Bitmap Pin
Nick Parker25-Aug-03 17:46
protectorNick Parker25-Aug-03 17:46 
GeneralRe: Get a grahics object from a Bitmap Pin
Ista25-Aug-03 17:47
Ista25-Aug-03 17:47 
GeneralRe: Get a grahics object from a Bitmap Pin
Nick Parker25-Aug-03 18:27
protectorNick Parker25-Aug-03 18:27 
GeneralRe: Get a grahics object from a Bitmap Pin
Ista25-Aug-03 18:28
Ista25-Aug-03 18:28 
GeneralDES encryption/decryption Pin
devvvy25-Aug-03 16:41
devvvy25-Aug-03 16:41 
GeneralRe: DES encryption/decryption Pin
Julian Bucknall [MSFT]26-Aug-03 5:46
Julian Bucknall [MSFT]26-Aug-03 5:46 
QuestionValid CodeProject Article? Pin
Steven Behnke25-Aug-03 14:41
Steven Behnke25-Aug-03 14:41 
AnswerRe: Valid CodeProject Article? Pin
Ista25-Aug-03 15:13
Ista25-Aug-03 15:13 
GeneralRegistry Errors Pin
mikemilano25-Aug-03 10:57
mikemilano25-Aug-03 10:57 
GeneralRe: Registry Errors Pin
Roger Stewart25-Aug-03 12:02
professionalRoger Stewart25-Aug-03 12:02 
GeneralRe: Registry Errors Pin
mikemilano25-Aug-03 12:57
mikemilano25-Aug-03 12:57 
GeneralRe: Registry Errors Pin
Roger Stewart25-Aug-03 15:11
professionalRoger Stewart25-Aug-03 15:11 
GeneralRe: Registry Errors Pin
mikemilano26-Aug-03 7:06
mikemilano26-Aug-03 7:06 
GeneralScreenshot of Window... Pin
Calamitous25-Aug-03 10:40
Calamitous25-Aug-03 10:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.