2011-03-18 90 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(); 
     } 
    } 
}