Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
800 views
in Technique[技术] by (71.8m points)

c# - Omit unnecessary parts in string array

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

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

1 Reply

0 votes
by (71.8m points)

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];

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...