[英]Regex to match a string with spaces until the first “=”
我有一個看起來像這樣的字符串:
abC d eFg=hiJk lmNop
...而且我想從開始就匹配所有字符,直到"="
:
abC d eFg
我試圖用以下方法完成此任務:
string str = "abC d eFg=hiJk lmNop";
Regex.Match(str, @"^.*?(?==)").ToString()
但是,此正則表達式僅返回最后一個單詞"eFg"
。
這是模式:
^[^=]*
您還可以按"="
分割並采用第一個分割值。
一個相當簡單的實踐是使用Split ,它是非正則表達式。
string test = "abC d eFg=hiJk lmNop";
string current = test.Split('=')[0];
這將返回在=
處分割的字符串數組。
abC d eFg
hiJk lmNop
使用LINQ,您還可以使用FirstOrDefault()
獲取第一個值,與拆分后的[0]
索引相比,該值可能更具可讀性。
string current = test.Split('=').FirstOrDefault();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.