簡體   English   中英

我如何在c#中執行sscanf

[英]how do I do sscanf in c#

我怎么在C#中做到這一點?

int a,b,c;
sscanf(astring,"%d %d %d",&a,&b,&c);

最小的代碼和依賴是更好的,有一些內置的正則表達式的東西?

我正在使用c#4.0

如果像scannf一樣,您願意假設用戶將提供完全正確的數據,那么您可以執行以下操作。

string astring = ...;
string[] values = astring.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
int a = Int32.Parse(values[0]);
int b = Int32.Parse(values[1]);
int c = Int32.Parse(values[2]);

正則表達式適用於這種情況,但它們有點矯枉過正。 可以使用上述Split方法輕松地對字符串進行標記。

我能想到的最簡單的事情就是:

var fields = astring.Split(null, StringSplitOptions.RemoveEmptyEntries);
a = int.Parse(fields[0]);
b = int.Parse(fields[1]);
c = int.Parse(fields[2]);

或者,在C#中編寫自己的sscanf()版本是相當簡單的。 語法使其易於實現。

我實現了自己的版本並在網上發布。 你可以在這里查看

暫無
暫無

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

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