2011-03-18 97 views
2

我有这个字符串:C#:我如何根据值切割字符串?

value1*value2*value3*value4 

如何将削减多个字符串的字符串?

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

我的方法(可能不是一个很好的方法): 我拿一个数组用“*”字符后,所有的指标,我称之为的子方法来获得我所需要的。

+0

可能重复[如何削减一个字符串变量到更多?(http://stackoverflow.com/questions/ 2471735 /如何至切割-A-字符串变量 - 进入 - 更多) – Gabe 2011-03-18 09:35:04

回答

2

简单地:

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

份将字符串(string[])阵列

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

更多信息here

2

试试这个

string string1 = "value1*value2*value3*value4"; 
var myStrings = string1.Split('*'); 
2
string s = "value1*value2*value3*value4"; 
string[] array = s.Split('*'); 
0

,你可以只使用字符串对象的split()方法,像这样:

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

结果变量是一个字符串[]与四个值。

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(); 
     } 
    } 
}