{"sex":"male","time":"23-06-09","weight":"88.5","height":"176.0","order":"measure","bmi":"28.6","machine_ID":"19081000"} c#提取身高和体重数值
时间: 2023-07-08 16:55:32 浏览: 56
可以使用正则表达式来提取身高和体重数值。示例代码如下:
```csharp
string input = "{\"sex\":\"male\",\"time\":\"23-06-09\",\"weight\":\"88.5\",\"height\":\"176.0\",\"order\":\"measure\",\"bmi\":\"28.6\",\"machine_ID\":\"19081000\"}";
string pattern = "\"weight\":\"(\\d+\\.\\d+)\",\"height\":\"(\\d+\\.\\d+)\",";
Match match = Regex.Match(input, pattern);
if (match.Success)
{
string weight = match.Groups[1].Value;
string height = match.Groups[2].Value;
Console.WriteLine("Weight: " + weight);
Console.WriteLine("Height: " + height);
}
else
{
Console.WriteLine("No match found.");
}
```
运行结果:
```
Weight: 88.5
Height: 176.0
```
相关问题
string input = "{\"sex\":\"male\",\"time\":\"23-06-09\",\"weight\":\"88.5\",\"height\":\"176.0\",\"order\":\"measure\",\"bmi\":\"28.6\",\"machine_ID\":\"19081000\"}"; string pattern = "\"height\":\"([\\d.]+)\",\"weight\":\"([\\d.]+)\",\"bmi\":\"([\\d.]+)\""; Match match = Regex.Match(input, pattern); if (match.Success) { string height = match.Groups[1].Value; string weight = match.Groups[2].Value; string bmi = match.Groups[3].Value; Console.WriteLine($"Height: {height}, Weight: {weight}, BMI: {bmi}"); } else { Console.WriteLine("No match found."); } 匹配失败
根据输入的字符串和正则表达式,这段代码应该可以成功匹配字符串并提取出 height、weight 和 bmi 三个属性的值。如果匹配失败,可能是输入字符串或正则表达式格式不正确,或者没有符合正则表达式的匹配项。建议检查输入字符串和正则表达式的格式是否正确,并且确认输入字符串中是否包含了要匹配的属性值。如果问题仍然存在,请提供更多的上下文和信息,以便我更好地帮助你解决问题。
还是false 是否考虑height与bmi中间有其他内容产生了影响 参考上文:非常抱歉让你尝试多次都没有得到正确的结果。我重新检查了一下之前的代码,发现有一个错误,应该去掉正则表达式中的转义字符 \\d,改为 d。下面是修改后的代码: 复制 string input = "{\"sex\":\"male\",\"time\":\"23-06-09\",\"weight\":\"88.5\",\"height\":\"176.0\",\"order\":\"measure\",\"bmi\":\"28.6\",\"machine_ID\":\"19081000\"}"; string pattern = "\"height\":\"([\\d.]+)\",\"weight\":\"([\\d.]+)\",\"bmi\":\"([\\d.]+)\""; Match match = Regex.Match(input, pattern); if (match.Success) { string height = match.Groups[1].Value; string weight = match.Groups[2].Value; string bmi = match.Groups[3].Value; Console.WriteLine($"Height: {height}, Weight: {weight}, BMI: {bmi}"); } else { Console.WriteLine("No match found."); } 这段代码会输出以下结果: 复制 Height: 176.0, Weight: 88.5, BMI: 28.6 请再尝试一下,看是否可以正确输出结果。如果还有问题,请让我知道。
这段代码只能提取出字符串中的 height、weight 和 bmi 三个属性值,而无法判断它们之间是否有影响。如果要考虑它们之间的关系,需要更多的数据和分析方法。例如,可以使用机器学习算法对身高、体重和BMI之间的关系进行建模和预测。或者,可以通过对大量研究和数据分析来找出它们之间的关系。总之,需要更多的信息和分析才能回答这个问题。