0

助けてください:

文字列の最初の 1000 文字を単語の末尾まで取得する次の式がありますが、行末 (\r\n) までテキストを取得したいですか?

表現:

System.Text.RegularExpressions.Regex.Match(mystring, @"^.{1,1000}\b(?<!\s)").Value

テキスト例:

フーホー!! 私たちはもう一年やり遂げました。信じられますか?私は自分自身をほとんど抑えることができません。これはでこぼこした乗り物でした。\r\n\r\n タクシー運転手になることは、さまざまな点で非常にやりがいがあります。世界でこれほどのものはありません!\r\n\r\n 新しい友達を何人か作り、昔からの友達に追いつきました。私は世界中の新しい人々に出会い、12 時間にわたってさまざまな状況を経験しました。\r\n\r\n今夜はとても楽しかったですが、今年は経済的にみんなにとってどれほどがっかりしたかを考えずにはいられません。前日よりも約3〜4倍多く予約して家に持ち帰ったときのことを覚えています。バディは私の親友です。小柄で金髪の6歳半のペキニーズです。彼は生後わずか 3 か月のときから家族の一員です。一組の乗客が行き交う中、彼は助手席に乗った。窓の外をじっと見つめ、どこに向かっているのか、どこにいるのかに細心の注意を払いました。彼はタクシーに乗り込んだ一人一人をチェックしました

(現在はここまでテキストを取得しています)

それらを見渡すだけで。彼は新年を楽しんでいました!\r\n\r\n

(ここまでテキストをつかんでほしい)

午前 1 時 30 分頃、私は Ocean Blvd を横断していました。バンが目の前を走った。ブレーキを踏んで衝突を避けた。バディは座屈していませんでした。彼の全身がダッシュボードに激突し、それから彼は床板に落ちました。彼は震え、怖がっていました。私もそうでした。頭の隆起や神経系の混乱よりもひどい怪我を負っていたのではないかと心配していました。バディが家に帰って休む時が来たと私が決めたのはこの瞬間でした. ダッシュがとても高く構築されていてよかったです。さもなければ、バディは風防にぶつかっていただろう.\r\n\r\nほら、すべてが理由で起こるような気がする. ある瞬間、私の心はぐるぐる回り始めましたが、それは数秒しか続きませんでした。そして、私が今夜行った人々の一人一人を迎えに行くために送られたに違いない正当な理由があることに気づきました。私は使命を持って毎日出発しました。今日、私は適切な場所に、適切なタイミングで、適切な人々に会い、すべてをより良くすることができます。\r\n\r\n 「すべての挑戦にチャンスがあると思います。」\r\n\r\n この日は、私が挑戦したことで変わりはありませんでした。これは確かです。私は他の人と同じようにはできなかったが、他の人よりはうまくやったということを知っています. 統計によると、私は平均を公平にしたようです。あなたが私に尋ねると、全体的に私はうまくいきました。全体像を見てください。注: これは夜のイベントの順序ではありません。他の人と同じようにできたが、他の人よりもうまくやった。統計によると、私は平均を公平にしたようです。あなたが私に尋ねると、全体的に私はうまくいきました。全体像を見てください。注: これは夜のイベントの順序ではありません。他の人と同じようにできたが、他の人よりもうまくやった。統計によると、私は平均を公平にしたようです。あなたが私に尋ねると、全体的に私はうまくいきました。全体像を見てください。注: これは夜のイベントの順序ではありません。

4

3 に答える 3

2
"^(?<text>.{1,1000}[^\\]*)\\r\\n"

対応する \r\n を見つけると機能するはずですが、グループ「テキスト」に必要なテキストのみをキャプチャします。

于 2012-09-06T15:41:49.410 に答える
1

正規表現は必要ありません。試す

mystring.Substring(0, mystring.LastIndexOf("\r\n", 1000));
于 2012-09-06T12:08:07.337 に答える
0

\r と \n は、ご想像のとおり、それぞれ正規表現の特殊な「文字」で、キャリッジ リターンとライン フィードに使用されます。そう: \r\n まで正規表現をスキャンさせます

于 2012-09-06T12:59:56.610 に答える