以下Powershell替换操作与正则表达式中的命名组s1和s2(仅用于说明,而不是正确的语法)工作正常:
$s -Replace "(?<s1>....)(?<s2>...)" '${s2}xxx${s1}'
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何替换变量$ x而不是文字xxx,即:
$s -Replace "(?<s1>....)(?<s2>...) '${s2}$x${s1}'
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为Powershell不替换单引号字符串中的变量,但如果替换字符串放在双引号中,如"$ {s2} $ x $ {s1}",则命名组解析不再起作用.
我有一个文件名集合,其中一部分路径名是一个特定的单词.我可以点这样的集合:
var files = from f in checkedListBox1.CheckedItems.OfType<string>()
orderby f.Substring(0,3)
select f;
Run Code Online (Sandbox Code Playgroud)
但是现在,我想在路径名部分按字母顺序排序,而是根据另一个集合给出的特定顺序排序.
所以我们说路径名部分可以是"ATE","DET"和"RTI".我有另一个字符串集合:{"DET","ATE","RTI"}我想用来对文件名进行排序,以便在排序后,文件名首先显示其部分名称为"DET",然后是"ATE" ,然后"RTI".我如何实现这一点 - >需要使用自己的比较器?
我正在使用 MERGE 语句来更新让我们说包含(Name="a", Description="desca"). 我的源表包含(Name="a", Description="newdesca")并且我在 Name 字段上合并。
在我的 Output 子句中,我想在更新 -> 之前取回该字段Description = "desca"。我找不到办法做到这一点,我总是在取回新值("newdesca")。