2012-01-07 37 views
1

:正規表現を使用してブレーク文は、私は次の文字列破るしようとしている

1. This is first 2. This is 45. second 3. This is third 

は:

1. This is first 
2. This is 
45. second 
3. This is third 

question = Regex.Split(strText, @" [0-9]+\. "); 

それは次のように出てきます私が好きなところ:

1. This is first 
2. This is 45. second 
3. This is third 

実際には、文字列を1から30までの数字で区切りたいとします。文の中に他の数字が含まれていても、それは壊れてはいけません。 上記の結果を得るには、この文字列にどのように取り組むことができますか?

答えて

1

thisを試みる:

Regex.Split(strText, @"\b([0-2]?[1-9]|30)\."); 

更新

正規表現を区切り文字としてドット続いて1〜30の間の数字を一致させるために正しい、という問題がRegex.Split()動作です。私はRegex.Split()であなたが望むものをワンステップで得ることができないと思います。 使用Regex.ReplaceString.Split()

question = Regex.Replace(strText, @"(\b([0-2]?[1-9]|30)\.)", System.Environment.NewLine + "$1").Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 

デモ:http://rextester.com/IVM84413

+0

それは動作しますが、それは次のように出ています:質問[0] = 1、質問[1] =これが最初であるというように... – fawad

+0

この正しい解決策ではありません。 – fawad

+0

@fawadさんが答えを更新しました! – fardjad

関連する問題