Split string and get a substring of each element [duplicate] - c#

This question already has answers here:
Split string and get Second value only
(5 answers)
Closed 1 year ago.
I would like to split the string below using "|" as separator but would also like to extract only the strings after the colon (:) into the array:
Input:
CompanyID:1234|CompanyName:ABC
Desired Output would be an array with values:
1234, ABC
Current code so far is:
string text = "CompanyID:1234|CompanyName:ABC";
string[] ids = text.Split('|');
Is there a way to do it in one line?
Appreciate anyone's help.
Thanks.

text.Split('|').Select(s => s.Split(':').Last()).ToArray()

Related

How to parse this particular string? [duplicate]

This question already has answers here:
split strings into many strings by newline?
(4 answers)
Closed 2 years ago.
I want to parse this string: "2.8\r\n2.52\r\n" to just get 2.8 and 2.52. How can I go about doing something like this? I tried to using .Split() but I'm not sure what to pass as parameters to get what I am looking for.
String.Split should work fine:
string[] res = "2.8\r\n2.52\r\n".Split("\r\n", StringSplitOptions.RemoveEmptyEntries); // array with {"2.8", "2.52"}
You need to split by Environment.NewLine which in here would be \r\n
var result = "2.8\r\n2.52\r\n".Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries);
Edit:
Environment.NewLine depends on your environment as you can guess so to be on the safe side you can also use the exact string (\r\n) as a delimiter.

Extracting a computer name from a string [duplicate]

This question already has answers here:
Split string using backslash
(3 answers)
Closed 4 years ago.
I'm looking for the best way to extract the computer name from a predictably formatted string. The string will always be in this format:
C:\\Folder1\\Folder2\\NOOBCOMPUTER\\...
If there is a way to extract the contents of a string between the third pair of backslashes and the fourth pair, that should work.
Though I have no idea where to begin with the regex to achieve that, nor do I know if regex is the most "foolproof" way of going about this in C#.
You can split the string and then inspect each element.
string [] s = yourstring.Split("\\");
string final = s[3];

How to Split the string with multiple characters in C#? [duplicate]

This question already has answers here:
C# How to split string based on 2 parameters?
(2 answers)
Closed 5 years ago.
I have a string here : Name_20160204_102-10002
I want it to be spited into 4 pieces like
str[0] = "Name";
str[1] = "20160204";
str[2] = "102";
str[3] = "10002";
I'm really poor in regular expression if anyone know how to solve please kindly let me know
Use string.Split() and pass it an array of characters to split on.
"Name_20160204_102-10002".Split(new char[] {'_', '-'});
Which gives the output:
["Name",
"20160204",
"102",
"10002"]

Parsing a string into multiple separate strings [duplicate]

This question already has answers here:
string.split - by multiple character delimiter
(6 answers)
Closed 6 years ago.
Hey guys I have a quick question. I am trying to parse a single string into multiple strings using a keyword. I can currently find a set of code that allows me to parse the single string but I need to store each of the new strings as a new variable/item.
string full = "Hey//Please//Help";
parse into:
first string- Hey
Second string- Please
third string- Help
So for example I would like to manipulate the first string, Hey, by itself. Please let me know if any more explanation is necessary.
Simple String.Split:
string[] results = full.Split(new string[] { "//" }, StringSplitOptions.RemoveEmptyEntries);
foreach(string str in results)
{
Console.WriteLine(str);
}
Result:
Hey
Please
Help

Remove commas from right side of string in c# [duplicate]

This question already has answers here:
Trim last character from a string
(15 answers)
Closed 8 years ago.
I have string like below.
string s="this is item1,item2,item3,,, ,, ,";
now i want to remove (,) from right side of string.
Thanks in advance
i have tried
string.Replace(",", "");
and
string.TrimEnd("'");
but not working
Try this:
s = s.TrimEnd(',', ' ');
I think the problem in your code is that you do not assign the result of your replacement to any variable. And also your solution would remove all , from the string, not only those on the right side.
Try string.TrimEnd():
s= s.TrimEnd(',',' ');

Categories

Resources