C# .NET - how to get string before char in c#.net

Asked By praveen pubby on 12-Aug-11 03:15 AM


hi every one,
here i have shown some sample string below in this post , can any suggest me a logic , how to get the string before first colon ":" in c#.net

string message  =" MSGTYPE        HEADER 220        I220 PRODUCT CODE     61 :20:31013220~"

output:

in string1= MSGTYPE        HEADER 103          I103 PRODUCT CODE     61
in string2 = :20:31013220~


Jitendra Faye replied to praveen pubby on 12-Aug-11 03:22 AM
Use this code-


string message  =" MSGTYPE      HEADER 220      I220 PRODUCT CODE   61 :20:31013220~"
string result = message .Substring(0, message.IndexOf(":"));



Output
result =  MSGTYPE      HEADER 220      I220 PRODUCT CODE   61

praveen pubby replied to Jitendra Faye on 12-Aug-11 03:23 AM
thanx bro
 what about the remaining part even i need that part in another string ...
dipa ahuja replied to praveen pubby on 12-Aug-11 03:48 AM
Use split:

protected void Page_Load(object sender, EventArgs e)
{
  string message = "MSGTYPE    HEADER 220    I220 PRODUCT CODE   61 :20:31013220~";
  string[] data = message.Split(':');
  string data1 = data[0]; //contains MSGTYPE    HEADER 220    I220 PRODUCT CODE   61 
  string data2 = ":" + data[1] + ":" + data[2]; //contains :20:31013220~";
  Response.Write("<br>" + data1);
  Response.Write("<br>" + data2);
}
Anoop S replied to praveen pubby on 12-Aug-11 04:19 AM
use split

class Program
{
    static void Main()
    {
    string s = "MSGTYPE      HEADER 220      I220 PRODUCT CODE   61 :20:31013220~";
    //
    // Split string on :
    // ... This will separate all the words.
    //
    string[] words = s.Split(':');
    foreach (string word in words)
    {
      Console.WriteLine(word);
    }
    }
}
Jitendra Faye replied to praveen pubby on 12-Aug-11 09:13 AM
Ok , for getting remaining part use this code-

protected void Button1_Click(object sender, EventArgs e)

{

string message =" MSGTYPE HEADER 220 I220 PRODUCT CODE 61 :20:31013220~"

string result1 = message .Substring(0, message.IndexOf(":"));

string result2 = message .Substring(message.IndexOf(":"), message.Length-message.IndexOf(":")-1);

}

Output

result1 = MSGTYPE HEADER 220 I220 PRODUCT CODE 61

result2 = 20:31013220~



Try this and let me know.