-2

テキスト内のすべての単語を検索して置換する必要があります。これらの単語の形式 : で始まり、 例(long)で終わる;

(long)Row["Id"];

この形式の正規表現パターンは何ですか? いくつか試してみましたが、うまくいきません。ありがとう。

4

3 に答える 3

2
\(long\)(.*?);

(.*?)通常、最後に を見つけるために必要なだけキャプチャしようとします;。については(long)、括弧をエスケープする必要があります。

于 2013-11-09T14:20:54.343 に答える
1

次のことを試してください。

var input = "(long)Row["Id"];";
var result = Regex.Replace(input, @"\(long\)([^;]+)", "$1.ToLong()");

次の式: \(long\)([^;]+):

  • \(: 左括弧に一致します(
  • long: long の文字どおりの単語に一致します。
  • \): 右括弧に一致します)
  • ([^;]+): 1 つ以上のセミコロン以外の文字に一致し、それらをキャプチャ グループ 1 に入れます。
于 2013-11-09T14:26:07.137 に答える
0

String.StartsWith正規表現の代わりにandString.EndsWithメソッドを使用できます。

例えば;

string[] lines = File.ReadAllLines(@"C:\Users\Public\TestFolder\Text.txt");            
foreach(string word in lines)
{
   if (word.StartsWith("(long)", StringComparison.InvariantCulture) && word.EndsWith(';', StringComparison.InvariantCulture))
   {
      //Replace your string here.
   }
}
于 2013-11-09T14:29:35.507 に答える