2017-01-02 75 views
5

我想知道如何定義字符串包含/不包含列表值,如果包含但其他值。如何檢查字符串是否包含列表值,如果包含但是與其他值分開

如果我有輸入字符串:

string inputString = "it was one"; 

,我想爲條件找到特定的值:

var numbList = new List<string> {"zero", "one", "two"}; 

if (!numbList.Any(inputString.Contains)) 
{ 
    Console.WriteLine("string does not contains list value");           
} 
else 
{ 
    Console.WriteLine("string contains list value"); 
} 

但不知道什麼是正確的方式,如果我想也對第三個條件就知道如果字符串包含值,但也包含其他字。

對於字符串:inputString = "it was one";理想的結果應該是:

Console.WriteLine("string contains list value and other words"); 

字符串:inputString = "one";

Console.WriteLine("string contains list value"); 

和:inputString = "it was";

Console.WriteLine("string does not contains list value"); 

回答

4

我認爲你正在尋找類似這個:

if (inputString.Split(new string[]{" "},StringSplitOptions.RemoveEmptyEntries).All(x => numbList.Contains(x))) 
{ 
    opDisplay="string contains list value"; 
} 
else if (numbList.Any(x => inputString.Contains(x))) 
{ 
    opDisplay = "string contains list value and other words"; 
} 
else 
{ 
    opDisplay = "string does not contains list value"; 
} 

你可以嘗試一個例子here

+0

是否有在'inputString'那麼如果一部分返回其他每個字之間的多個空格。例如=> **零一二**。刪除多餘的可以處理它。 (SO註釋輸入區域已經刪除了額外的文件)lol) – Badiparmagi

+0

如果它們之間有額外的空格表示,你可以使用'StringSplitOptions.RemoveEmptyEntries'來排除那些空的空格,看到文章中的更新 –

+1

@ un-lucky Hello,好像它是答案,但不知道如果我不使用StringSplitOptions.RemoveEmptyEntries什麼是「它是一個」的重要嗎? – nikorio

1

爲什麼下面的代碼不會用?我無法想象它失敗的一個條件。

  string inputString = "it was one "; 
      var numbList = new List<string> { "zero", "one", "two" }; 
      if (numbList.Any(x => inputString.Contains(x))) 
      { 
       if (numbList.Any(x => inputString.Trim().StartsWith(x) && inputString.Trim().EndsWith(x))) 
       { 
        Console.WriteLine("string contains list value"); 
       } 
       else 
       { 
        Console.WriteLine("string contains list value and other words"); 
       } 
      } 
      else 
      { 
       Console.WriteLine("string does not contains list value"); 
      } 

找到小提琴here

+0

hello,這兩種方式都是有用的,在某些情況下這個可以更合適, 依靠。無論如何,這兩個答案都可以使用 – nikorio

相關問題