gpt4 book ai didi

Powershell 对新行使用反引号 - 奇怪

转载 作者:行者123 更新时间:2023-12-02 23:32:09 27 4
gpt4 key购买 nike

示例 1 中究竟发生了什么?这是如何解析的?

    # doesnt split on ,
[String]::Join(",",("aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa," + `
"aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa".Split(',') `
| foreach { ('"' + $_ + '"') }))





# adding ( ) does work
[String]::Join(",",(("aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa," + `
"aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa,aaaaa").Split(',') `
| foreach { ('"' + $_ + '"') }))

最佳答案

在第一个示例中,您可以删除反引号,因为 Powershell 知道字符串将继续(有一个 + 符号)。

什么豪华做

  • 从第一个
  • 获取字符串 "aaaa,aaaa..."(1)
  • 使用 split 计算表达式 - 它返回字符串数组(来自 "aaaa,...aaaa".Split(',') )
  • 将字符串数组转换为字符串,它再次返回字符串 "aaaa,...aaaa"
  • 将 1. 和 3 的结果相加。

  • 注意:当 posh 将数组转换为字符串时,它使用 $ofs多变的。当您尝试以下代码时,您会看到它的效果更好:
    $ofs = "|"
    [String]::Join(",", ("aaaaa,aaaaa" + "bbbb,bbbb,bbbb".Split(',') | foreach { ('"' + $_ + '"') }))

    关于Powershell 对新行使用反引号 - 奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3563255/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com