Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

In C#, I have a string comes from a file in this format:

Type="Data"><Path.Style><Style

or maybe

Type="Program"><Rectangle.Style><Style

,etc. Now I want to only extract the Data or Program part of the Type element. For that, I used the following code:

string output;

var pair = inputKeyValue.Split('=');

if (pair[0] == "Type")
{
    output = pair[1].Trim('"');
}

But it gives me this result:

output=Data><Path.Style><Style

What I want is:

output=Data

How to do that?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
853 views
Welcome To Ask or Share your Answers For Others

1 Answer

This code example takes an input string, splits by double quotes, and takes only the first 2 items, then joins them together to create your final string.

string input = "Type="Data"><Path.Style><Style";

var parts = input
    .Split('"')
    .Take(2);

string output = string.Join("", parts); //note: .net 4 or higher

This will make output have the value:

Type=Data

If you only want output to be "Data", then do

var parts = input
    .Split('"')
    .Skip(1)
    .Take(1);

or

var output = input
    .Split('"')[1];

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...