2017-09-07 206 views
-2

我想提取兩個模式之間的字符串。獲取兩個模式之間的字符串(數字和按)

的模式是:

如:給我10大銷售代表按銷售金額

作爲輸出我會:

  • 銷售代表

我如何用正則表達式實現它?

UPDATE

的matchDim應進行調整: 它返回我ONL代表: - 。/

Regex re = new Regex(@"\d+"); 
    Match m = re.Match(message.Text); 

    var matchDim = Regex.Matches(
           message.Text, 
           @"(?:\S+\s)?\S*by", 
           RegexOptions.IgnoreCase 
          ); 

    o = CallMyMethod(
      matchDim[0].Value.Replace("by","").Trim(), 
      message.Text.ToUpper().Contains("TOP")?"Top":"Flop", m.Value); 
+0

你嘗試過什麼嗎? – ctwheels

+0

你的輸出不會有很多值嗎?銷售,銷售代表,銷售代表 –

+0

此外,這看起來像你正在嘗試做自然語言理解的某種神經網絡。正則表達式真的不是這份工作的最佳工具。最簡單的解決方案可能是使用現有的應用程序(如Google表格)並使用其自然語言處理來執行您想要的操作。否則,你將不得不嘗試創建或找到一個自然語言處理器,將使你能夠將其轉換成有意義的/代碼 – ctwheels

回答

1

獲取字符串btween兩個定形(數量和)

string input = "Give me Top 10 Sales Rep. by Sales Amount"; 

var match = Regex.Match(input, @"\d+(.+?)by").Groups[1].Value.Trim(); 
+0

感謝您的幫助!欣賞! 但我同意@ctwheels使用自然語言處理,我們正在研究它,但對於我們的原型來說,當我們使用正則表達式就足夠了 – user12282

相關問題