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 关注
- 171 浏览
添加回答
举报