4 回答

TA貢獻1812條經驗 獲得超5個贊
如果您的字符串采用該格式,您可以在雙引號上拆分并從結果數組中提取數字:
var str = " \"x\":\"123.456\""; //example var number = Convert.ToDouble(str.Split('"')[3]);

TA貢獻1858條經驗 獲得超8個贊
如果您不想使用正則表達式,并且字符串的格式始終采用該形式,您可以執行以下操作:
public string myString= "\"x\": \"1.234568\"";
public string[] subStrings;
void Start()
{
subStrings = myString.Split('\"');
float myFloat = Convert.ToSingle(subStrings[3]);
}
該方法myString.Split(char[])返回一個字符串數組,在找到作為分隔符傳遞的字符的任何地方分割字符串。如果您的格式總是這樣完成,則 中的第四個元素subString[]就是您的數字。

TA貢獻1793條經驗 獲得超6個贊
一個簡單的正則表達式可以從字符串中提取數字:
var str = " \"x\": \"1.234567\""; //example
var regex = new Regex("[\\d.]+");
var match = regex.Match(str).Groups[0].Value;
var number = Convert.ToDouble(match);
說明:正則表達式將第一組數字和點匹配在一起,并將其放入 Group[0] 中。如果您可能的字符串可以在其他任何地方包含數字或點,您將需要修改正則表達式以精確定位您想要的數字。但這滿足你問題中的例子。
- 4 回答
- 0 關注
- 223 瀏覽
添加回答
舉報