我在字符串列表中有多行,并且每行都具有仅具有不同变量的这种结构
line = "14*x1 + 2*x2 + 3*x3 >= 2";
我希望将值14,2和3保存在另一个List<int>
内
以下代码仅在变量只有一位的情况下有效,因此14将仅保存为4
List<double> list = new List<double>()
foreach (var line in functionlist)
{
for (int i = 0; i < line.Length; i++)
{
if (line[i].Equals('*'))
{
list.Add(line[i-1]);
}
}
}
我知道问题是line[i-1]
,它仅在需要使用'*'和子字符串之前保存数字。我就是不知道。
答案 0 :(得分:1)
您可以尝试一下。
dict1 = [{'date': '2017/01/03', 'date_count': 2},{'date': '2017/01/03', 'date_count': 2},
{'date': '2017/01/04', 'date_count': 3},{'date': '2017/01/04', 'date_count': 3},
{'date': '2017/01/04', 'date_count': 3},{'date': '2017/01/05', 'date_count': 1}]
df = pd.DataFrame(dict1, index=['s1', 's2','s3','s1','s2','s3'])
答案 1 :(得分:1)
这是使用正则表达式的解决方案:
List<double> numbers = new Regex(@"(\d+)\*x").Matches(line)
.Cast<Match>()
.Select(m => double.Parse(m.Groups[1].Value))
.ToList();
编辑:已更新以解析数字。
答案 2 :(得分:0)
mongod
的简单RegEx应该可以解决问题。
from subprocess import call
call(["pkill", "mongod","&"])