有一个系统命令可以输出如下:
OUTPUT HDMI2 123.123.123
(OUTPUT) * HDMI1 124.124.124
我该如何解析它?我需要解析,我需要带有()和*的行中的数据,这是在使用中。当我得到使用中的线路时,我需要HDMI部分和数字部分。
答案 0 :(得分:1)
检查该行是否包含字符串@for (int i = 0; i < Model.OpenIssue.Count(); i++)
{
@Html.HiddenFor(modelItem => modelItem.OpenIssue[i].Id);
//a lot more HiddenFor fields
Model.AllIssuesExceptOriginal.Capacity = Model.AllIssuesExceptOriginal.Count;
var History = Model.OpenIssue[i].Histories.Where(p => p.IssueId == Model.OpenIssue[i].Id).OrderByDescending(a => a.LastUpdate).First();
<tr class="Content_table">
<td class="Content_Column">
<div class="Content_all">
<div class="History">@Html.DisplayFor(modelItem => History.Description)</div>
@if( Model.AllIssuesExceptOriginal.Where(p => p.InternalNotes.Replace("Updated:", "") == Model.OpenIssue[i].Id.ToString()).Count() != null)
{
for (int a = 0; a < Model.AllIssuesExceptOriginal.Where(p => p.InternalNotes.Replace("Updated:", "") == Model.OpenIssue[i].Id.ToString()).Except(Model.AllIssuesExceptOriginal.Where(l=>l.LastUpdate == DateTime.MinValue)).Count(); a++)
{
var OtherIssues = Model.AllIssuesExceptOriginal.Where(p => p.InternalNotes.Replace("Updated:", "") == Model.OpenIssue[i].Id.ToString()).Except(Model.AllIssuesExceptOriginal.Where(l=>l.LastUpdate == DateTime.MinValue)).OrderBy(p => p.LastUpdate).ToList();
if(OtherIssues[a].Description != "noUpdate")
{
<div class="updated" style="position:relative" id="@i:@a:Description">
<b>@Html.DisplayFor(modelitem=> OtherIssues[a].User.FirstName) @Html.DisplayFor(modelitem=> OtherIssues[a].User.LastName)</b> <span style="color:grey;">-@Html.ValueFor(modelitem=> OtherIssues[a].LastUpdate, "{0:dd.MM.yy HH:mm}") </span> <br />
@Html.DisplayFor(modelItem => OtherIssues[a].Description, new { @class = "meeting" })
<span style="float:right; "><img src="~/Images/ic_cancel_black_18dp.png" id="Description:@i:@a:@Model.AllIssuesExceptOriginal.FindIndex(p=>p.Id == OtherIssues[a].Id)" onclick="markActiveLinkDelete(this);">
@Html.HiddenFor(modelItem => modelItem.AllIssuesExceptOriginal[Model.AllIssuesExceptOriginal.FindIndex(p=>p.Id == OtherIssues[a].Id)].Description)
</span>
</div>
}
}
}
<div class="updated" >@Html.TextAreaFor(modelItem => modelItem.AllIssuesExceptOriginal[Model.AllIssuesExceptOriginal.FindLastIndex(p=>p.InternalNotes.Replace("Updated:","") == Model.OpenIssue[i].Id.ToString())].Description, new { @class = "meeting" })</div>
@Html.HiddenFor(modelItem=>modelItem.AllIssuesExceptOriginal[Model.AllIssuesExceptOriginal.FindLastIndex(p=>p.InternalNotes.Replace("Updated:","") == Model.OpenIssue[i].Id.ToString())].InternalNotes)
</div>
</td>
}
</table>
</div>
<p>
<input type="submit" value="Save" name = "Save"/>
<input type="submit" value="Cancel" name = "Cancel"/>
</p>
</fieldset>
}
,然后返回数字:
VGA
如果if 'VGA' in line:
return line.split('VGA')[1]
应该是结果的一部分:
"VGA"
并且,如果您只想要数字,请单独:
if 'VGA' in line:
return "VGA " + line.split('VGA')[1]
更新解决更新要求的解决方案。
要查找标有if 'VGA' in line:
return map(int, line.split('VGA')[1].split('.'))
和()
的行,正则表达式可能会更好,例如:
*