簡體   English   中英

如何獲取所有字符串格式參數

[英]How to get all string format parameters

有沒有辦法獲取字符串的所有格式參數?

我有這個字符串:“{0} test {0} test2 {1} test3 {2:####}”結果應該是一個列表:{0} {0} {1} {2:#### }

.net中是否有支持此功能的內置功能?

您可以使用正則表達式查找與該模式匹配的所有子字符串。

\\{.*?\\}類的正則表達式可能會成功。

我沒有聽說過這樣的內置功能但你可以試試這個(我假設你的字符串包含以數字開頭的標准格式參數):

List<string> result = new List<string>();
string input = "{0} test {0} test2 {1} test3 {2:####}";
MatchCollection matches = Regex.Matches(input, @"\{\d+[^\{\}]*\}");
foreach (Match match in matches)
{
    result.Add(match.Value);
}

它返回列表中的{0} {0} {1} {2:####}值。 對於tehMick的字符串,結果將是一個空集。

不,沒有內置功能來做到這一點。 你必須用正則表達式或其他東西來解析它們

看起來不像。 Reflector建議所有格式字符串解析都發生在StringBuilder.AppendFormat(IFormatProvider,string,object [])中。

要找到所有花括號的良好起點,您應該查看FormatWith擴展方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM