C#:如何根据值剪切字符串?

时间:2011-03-18 09:14:54

标签: c# string

我有这个字符串:

value1*value2*value3*value4

如何在多个字符串中剪切字符串?

string1 = value1;
string2 = value2;
etc...

我的方式(可能不是一个很好的方式): 我获取一个包含“*”字符的所有索引的数组,然后,我调用subString方法来获取我需要的内容。

6 个答案:

答案 0 :(得分:3)

string valueString = "value1*value2*value3*value4";
var strings = valueString.Split('*');
string string1 = strings[0];
string string2 = strings[1];
...

更多信息here

答案 1 :(得分:2)

简单地说:

 string[] parts = myString.Split("*");

部分将是一个字符串数组string[]

答案 2 :(得分:2)

试试这个

string string1 = "value1*value2*value3*value4";
var myStrings = string1.Split('*');

答案 3 :(得分:2)

string s = "value1*value2*value3*value4";
string[] array = s.Split('*');

答案 4 :(得分:0)

你可以像这样使用String-Object的Split()方法:

String temp = "value1*value2*value3*value4";
var result = temp.Split(new char[] {'*'});

结果变量是一个带有四个值的字符串[]。

答案 5 :(得分:0)

如果你想在社会中大放异彩,你也可以使用动态代码:

using System;
using System.Dynamic;

namespace ConsoleApplication1
{
    class DynamicParts : System.Dynamic.DynamicObject
    {
        private string[] m_Values;

        public DynamicParts(string values)
        {
            this.m_Values = values.Split('*');
        }
        public override bool TryGetMember(GetMemberBinder binder, out object result)
        {
            var index = Convert.ToInt32(binder.Name.Replace("Value", ""));
            result = m_Values[index - 1];
            return true;
        }


        public static void Main()
        {

            dynamic d = new DynamicParts("value1*value2*value3*value4");

            Console.WriteLine(d.Value1);
            Console.WriteLine(d.Value2);
            Console.WriteLine(d.Value3);
            Console.WriteLine(d.Value4);

            Console.ReadLine();
        }
    }
}