2017-04-20 24 views
-3

私は-----> "12:13:0 james、1324,7656119796027"のような文字列を持っています 私のプログラムにjamesを入力して1234を取得したいと思います。それ?ありがとう。別の文字列の後の文字列を見つける

+1

あなたは '1324'を意味するか - 「私は** **ジェームズを入力して取得したい** 1234 **」? –

+2

あなたは、入力と出力のすべての可能なシナリオを表すことができるより多くの例を挙げることをお勧めします。 –

+3

これはあまり難しくないようです。 [String.Contains](https://msdn.microsoft.com/en-us/library/dy85x1sa(v = vs.110).aspx)、[String.IndexOf](https:// msdn。 microsoft.com/en-us/library/system.string.indexof(v=vs.110).aspx)、[String.Substring](https://msdn.microsoft.com/en-us/library/system。 string.substring(v = vs.110).aspx)... – Pikoh

答えて

0

string.IndexOf()を使用して入力のインデックスを見つけることができます。ちょうどこのように:

string str = "12:13:0 james,1324,7656119796027"; 
string key = "james"; 

int index = str.IndexOf(key); 
string stringAfterKey= str.Substring(index + key.Length + 1/*,*/); 

string stringYouNeed = stringAfterKey.Split(new char[] { ',' })[0]; // Get 1324, then sort it 

しかし、あなたのキーワードに一致する複数のインデックスがあるかもしれないと考えてください。あなたはより良い入力を&の出力にする方がよいでしょう。

+0

ありがとうございました。感謝します。 – mreroxter

0

あなたは常にあなたの入力した後、コンマの後の最初の結果をしたいと仮定:

private readonly string[] Separators = new string[] { "," }; 

public void YourMethod() 
{ 
    string result = FindSubstring("james"); 
    Console.WriteLine(result); 
} 

private string FindSubstring(string input) 
{ 
    string source = "12:13:0 james,1324,7656119796027"; 
    int first = source.IndexOf(input) + input.Length; 
    string substring = source.Substring(first); 

    string[] splittedSubstring = substring.Split(Separators, StringSplitOptions.RemoveEmptyEntries); 
    return splittedSubstring[0]; 
} 
関連する問題