小编Sim*_*ice的帖子

PowerShell Select-String来自带有Regex的文件

我试图从.sln(Visual Studio解决方案文件)中获取一串文本,以显示解决方案中包含的项目文件.

一个示例文本行是

项目("{xxxx-xxxxx-xxxx-xxxx-xx}")="partofname.Genesis.Printing","Production\partofname.Genesis.Printing\partofname.Genesis.Printing.csproj","{xxx-xxx-xxx -xxx-xxxx}"EndProject

我感兴趣的字符串部分是\和之间的最后一部分".

\ partofname.Genesis.Printing.csproj"

我正在使用的正则表达式是:

$r = [regex] "^[\\]{1}([A-Za-z.]*)[\""]{1}$"
Run Code Online (Sandbox Code Playgroud)

我正在阅读文件内容:

$sln = gci .\Product\solutionName.sln
Run Code Online (Sandbox Code Playgroud)

我不知道在我的string-select语句中放什么.

我是PowerShell的新手,非常感谢所有帮助......

我确实有一个非常长期的方式来做到这一点,但我已经失去了工作......基本上它是为文件中的每一行做这个:

Select-String $sln -pattern 'proj"' | ? {$_.split()}
Run Code Online (Sandbox Code Playgroud)

但正则表达式会更容易(我希望).

regex string powershell substring

4
推荐指数
2
解决办法
4万
查看次数

XmlWriter将所有内容写入一行

我正在写一个XML文件,但是当我去阅读它时,它们都在同一条线上.

有人可以看看我的代码,并知道为什么它们都出现在同一行而不是正确的格式.

您应该看到的代码是编写几个节点,然后编写代码,名称,公式等等......还检查数据行8及更高版本中的公式是不重复的

var exportFile = "c:\\temp\\export.xml";
XmlWriter xmlWriter = XmlWriter.Create(exportFile);

xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("designExport");
xmlWriter.WriteStartElement("designs");
xmlWriter.WriteStartElement("design");
foreach (DataRow dr in xltbl.Rows)
{
    xmlWriter.WriteStartElement("code");
    xmlWriter.WriteString(dr[0].ToString());
    xmlWriter.WriteEndElement();
    xmlWriter.WriteStartElement("name");
    xmlWriter.WriteString(dr[1].ToString());
    xmlWriter.WriteEndElement();
    for (var i = 2; i < xltbl.Columns.Count; i++)
    {
        if (i >= 8 && dr[i] != dr[i - 8])
        {
            if (string.IsNullOrEmpty(dr[i].ToString())) continue;
            xmlWriter.WriteStartElement("forumula");
            xmlWriter.WriteString(dr[i].ToString());
            xmlWriter.WriteEndElement();
            xmlWriter.WriteStartElement("coverage");
            xmlWriter.WriteString("0");
            xmlWriter.WriteEndElement();
            xmlWriter.WriteStartElement("usageFactor");
            xmlWriter.WriteString("0");
            xmlWriter.WriteEndElement();
        }
    }
}
xmlWriter.WriteEndDocument();
xmlWriter.Close();
Run Code Online (Sandbox Code Playgroud)

c# xml xmlwriter

0
推荐指数
1
解决办法
1532
查看次数

标签 统计

c# ×1

powershell ×1

regex ×1

string ×1

substring ×1

xml ×1

xmlwriter ×1