2011-03-18 1 views
2

나는이 문자열을 가지고 :C# : Value를 기반으로 문자열을자를 수 있습니까?

value1*value2*value3*value4 

어떻게 여러 문자열에서 문자열을자를까요?

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

내 길 (아마도 좋은 방법은 아닙니다) : "*"문자의 모든 색인을 가진 배열을 가져온 다음, 필요한 문자열을 얻기 위해 subString 메서드를 호출합니다.

+0

중복 가능성 [더에 문자열 변수를 절단하는 방법?] (http://stackoverflow.com/questions/ 2471735/how-to-cut-a-string-variable-into-more) – Gabe

답변

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

방금과 같이 문자열 오브젝트의 분할() 메소드를 사용하십시오 :

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

결과 변수가 포함 된 문자열 []입니다 4 개의 값. 당신이 사회에 빛나는하려면

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(); 
     } 
    } 
} 
관련 문제