亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 C# 匹配組中單詞之前的所有空格(如果有)?

如何使用 C# 匹配組中單詞之前的所有空格(如果有)?

C#
吃雞游戲 2023-08-20 09:58:48
我想匹配單詞之前的所有空格(如果有)。Regex re = new Regex(@"(\d+);([\d\.]+);([\d\.]+);([\w-\(\)\.,\/]+);(\d+);(\d+);([\d,]+);(\d+)", RegexOptions.Compiled);上述正則表達式適用于示例 1,但不適用于示例 2。我需要在哪里更改示例 2 的正則表達式?Example-1:44;52.93; 8.24;GROSSENKNETEN;201902;28;408.7;28;509.8671;48.22; 8.98;ALBSTADT-BADKAP;201902;28;475.3;28;-999.973;48.62;13.05;ALDERSBACH-KRIESTORF;201902;28;519.8;28;561.76Example-2:00044;52.93; 8.24;            GROSSENKNETEN;201907;31; 53.4;9; 28.600071;48.22; 8.98;          ALBSTADT-BADKAP;201907;31; 49.0;8;-999.900073;48.62;13.05;     ALDERSBACH-KRIESTORF;201907;31;  0.0;0; 15.7
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

如果您可以正常訪問完整的 C# 功能,只需逐行讀取文件并使用 split;即可獲取所有字段。

如果您使用基于 .NET 正則表達式的工具并且需要從文本行中提取特定數據,您可以使用

(?m)^(\d+);\s*([\d.]+);\s*([\d.]+);\s*([\w-().,\/]+);\s*(\d+);\s*(\d+);\s*([\d.]+);\s*(\d+);\s*([-+]?\d*\.?\d+)\r?$

請參閱正則表達式演示

在多行模式下,$.NET 正則表達式在 CR 之前不匹配,這就是為什么有\r?.

圖案細節

  • (?m)- 多行模式開啟

  • ^- 一行的開頭

  • (\d+)- 第 1 組:一位或多位數字

  • ;- 一個分號

  • \s*- 0+ 空格

  • ([\d.]+)- 第 2 組:1+ 數字或點

  • ;\s*([\d.]+);\s*;, 0+ 空格,第 3 組:1+ 數字/點,;, 0+ 空格

  • ([\w-().,/]+)-第4組:1+個單詞-、、、、、、、、字符().,/

  • ;\s*(\d+);\s*(\d+);\s*;, 0+ 空格, 第 5 組: 1+ 數字, ;, 0+ 空格, 第 6 組: 1+ 數字, ;, 0+ 空格

  • ([\d.]+)- 第 7 組:1+ 位數/點

  • ;\s*(\d+);,0+ 空格,第 8 組:1+ 數字

  • ;\s*-;和 0+ 空格

  • ([-+]?\d*\.?\d+)- 第 9 組:-+可選,然后 0+ 位數字,可選.,1+ 位數字

  • \r?$- 可選的 CR 字符和行尾。


查看完整回答
反對 回復 2023-08-20
  • 1 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號