使用PowerShell查找字符串中的差异

2023-12-15

所以我正在使用 Compare-Object,它对于比较文件效果很好。但如果只是字符串呢?有没有办法找出字符串之间的差异? CompareTo() 擅长报告存在差异,但不报告差异是什么。例如:

PS:> $a = "PowerShell rocks"
PS:> $b = "Powershell rocks"
PS:> $a.CompareTo($b)
1
PS:> Compare-Object -ReferenceObject $a -DifferenceObject $b
PS:>

什么也没有返回。

有什么方法可以让我了解字符串之间的实际差异,而不仅仅是存在差异?


也许是这样的:

function Compare-String {
  param(
    [String] $string1,
    [String] $string2
  )
  if ( $string1 -ceq $string2 ) {
    return -1
  }
  for ( $i = 0; $i -lt $string1.Length; $i++ ) {
    if ( $string1[$i] -cne $string2[$i] ) {
      return $i
    }
  }
  return $string1.Length
}

如果两个字符串相等或两个字符串之间第一个差异的位置,该函数返回 -1。如果您想要不区分大小写的比较,则需要使用-eq代替-ceq and -ne代替-cne.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用PowerShell查找字符串中的差异 的相关文章

  • 如何从 PHP 中的字符串创建可能的字符串组合?

    如何从 PHP 中的字符串创建可能的字符串组合 Exp input abc output array 0 gt a 1 gt ab 2 gt abc 3 gt ac 4 gt acb 5 gt b 6 gt ba 7 gt bac 8 gt
  • 如何使用 PHP 查找字符串中字符的序列模式?

    假设我有随机的文本块 EAMoAAQAABwEBAAAAAAAAAAAAAAABAgMFBgcIBAkBAQABBQEBAAAAAAAAAAAAAAAGAgMEBQcBCBAAAQMDAgMEBQcIBQgGCwEAAQACAxEEBSEG
  • 在powershell的列中处理带有换行符的CSV

    目前 我有一个系统 它创建一个像下面这样的分隔文件 在其中我模拟了偶尔出现在列中的额外换行符 列 1 列 2 列 3 列 4 文本1 文本2 LF 文本3 LF 文本4 CR LF 文本1 文本2 LF LF 文本3 文本4 CR LF 文
  • 如何使用 .NET 4 运行时运行 PowerShell?

    我正在更新管理一些 NET 程序集的 PowerShell 脚本 该脚本是为针对 NET 2 与 PowerShell 运行的框架版本相同 构建的程序集编写的 但现在需要使用 NET 4 程序集以及 NET 2 程序集 由于 NET 4 支
  • 为什么此 PowerShell 脚本无法正确执行此外部命令?

    以下代码将输出我希望运行的命令字符串 string SourceRepo C inetpub wwwroot Spyda string Repo C inetpub wwwroot BranchClone string revstring
  • 如何在 xslt 2.0 中解析字符串到日期

    是否可以像这样转换字符串30042013 2013 年 4 月 30 日 日期格式 所以我可以稍后在类似的函数中使用它format date 就像托马拉克说的 你可以使用substring and concat 要构建一个字符串 您可以将其
  • 如何在c中的某个位置终止字符指针?

    我试图通过设置空终止符来终止 c 中的字符指针 在特定位置 例如 如果我有一个 char 指针 char hi hello 我希望它是 hell 通过设置o为空 我尝试过使用 strcpy 来执行此操作 例如 strcpy hi 4 0 但
  • 如何限制firebase中的字符串长度

    我在 firebase 数据库中工作 我需要限制字符串字段的长度 我怎么做 到该字段的路径是 Col1 doc1 描述 也就是说 从集合 col1 开始 然后进入 doc1 然后对于 doc1 下的所有集合以及该集合下的所有文档 描述字段需
  • 为什么在 C# 中使用 String.Concat()?

    我想知道这个问题有一段时间了 为什么使用String Concat 而不是使用 操作员 我明白了String Format因为它是一个空洞使用 运算符并使您的代码看起来更好 例如 string one bob string two jim
  • 使用 UTF-8 编码的 Powershell 字符串变量

    我检查了许多与此相关的问题 但找不到解决我的问题的东西 基本上 我想将 UTF 8 编码的字符串存储在变量中 然后使用该字符串作为文件名 例如 我正在尝试下载 YouTube 视频 如果我们打印视频标题 则会显示非英文字符 ytd这是you
  • 如何在管道函数中使用 Write-Progress?

    我正在尝试编写一个函数PowerShell接受管道输入 我想使用显示进度条Write Progress 管道中每个项目的增量 例如 function Write PipelineProgress Cmdletbinding Param Pa
  • Pester 没有捕获抛出的错误

    当我运行以下纠缠测试时 我希望它能够捕获预期的错误 但事实并非如此 但是 当我使用不同的函数和不同的 throw 语句运行测试时 它会起作用 纠缠测试 Describe Remove GenericCredential Function T
  • 将 std::string 从 C++ DLL 返回到 c# 程序 -> 指定给 RtlFreeHeap 的地址无效

    在我的 C DLL 中的函数中 我将 std string 返回到我的 C 应用程序 它几乎看起来像这样 std string g DllName MyDLL extern C THUNDER API const char stdcall
  • 为什么是 ”\?” C/C++ 中的转义序列?

    C C 中有四种特殊的非字母字符需要转义 单引号 双引号 反斜杠 和问号 显然是因为它们有特殊的含义 对于单身char 对于字符串文字 对于转义序列 但为什么是 其中之一 我今天读了教科书上的转义序列表 我意识到我已经never逃脱了 以前
  • 将字符串连接到python列表中所有元素的末尾

    我想知道如何将字符串连接到列表中所有元素的末尾 例如 List1 1 2 3 string a output 1a 2a 3a 在列表理解和使用中重建列表str format在两个参数上 gt gt gt string a gt gt gt
  • 如何在 R 中将字符串解析为层次结构或树

    有没有办法将表示组的字符串解析为 R 中的层次结构 假设我的小组结构如下 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 3 1 1 3 1 1 1 3 2 1 1 3 3 1 2 1 2 1 1 2 1 1 1 2 1 2 1
  • 如何从 -WhatIf 处理中排除块?

    我正在编写一个 Powershell cmdlet 它需要执行命令并将其 stderr 输出存储到临时文件中以供以后处理 此输出列出了 cmdlet 稍后可能使用的 COM 端口 mostly side effect free inform
  • Rust 编程竞赛中最快的惯用 I/O 例程?

    我的问题已部分得到解答 因此我根据从评论和其他实验中学到的知识对其进行了修改 总之 我想要一个用于编程竞赛的快速 I O 例程 其中使用单个文件解决问题 无需外部包 它应该从一个以空格分隔的标记序列中读取BufRead 标准输入或文件 标记
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1

随机推荐

  • 使用 WebView Xamarin 表单加载本地 HTML

    我正在尝试使用 Xamarin 表单在 Web 视图中加载本地 HTML 页面 我正在使用开发文档中的基本示例 尽管我可以获取要加载的 URL 但无法加载我自己的 HTML 页面 只需要通过 Android 即可完成此操作 因此无需担心 I
  • 附加 .mdf 文件时数据库“无法打开,因为它是版本 661”

    我正在尝试将 MvcMusicStore mdf 附加到 sql server 2008 R2 Management Studio 中的 SQLEXPRESS 实例 sql server 版本 10 0 2531 我从这个项目中得到了数据库
  • 滚动笔记本选项卡 Tkinter

    我想制作很多笔记本选项卡 我想将它们放在画布中并添加水平滚动条 以便我可以滚动它们 我设置了画布大小 但当我添加新选项卡时画布大小不断变化 另外 滚动条不起作用 你能告诉我我做错了什么吗 该程序没有向我显示任何错误 这是代码 from tk
  • .ajaxform 不在验证提交处理程序内工作?

    我在提交之前使用 jquery 验证插件来验证表单 在submitHandler中我使用ajax请求通过ajax发布表单 在我使用 ajax 发送请求之前 但现在表单有图像 而且很难 通过普通的ajax请求序列化文件元素 因此我使用了这个插
  • 子集和的动态规划方法

    给定以下输入 10 4 3 5 5 7 Where 10 Total Score 4 4 players 3 Score by player 1 5 Score by player 2 5 Score by player 3 7 Score
  • java.lang.ClassNotFoundException:org.apache.xmlbeans.XmlOptions

    我正在尝试在 servlet 中使用 POI 将上传的文件处理为 Excel 文件 public static String readExcel InputStream inp InputStream inp null StringBuil
  • 有效的 Java - 尽管创建了多个实例,但方法调用时间相同

    我正在学习 Effective Java 在本书的第 5 条中 Joshua Bloch 谈到了避免创建不必要的对象 一个示例演示了可变的 Date 对象 一旦计算出它们的值就永远不会被修改 这是 不好的做法 public Person D
  • 在 mvc 中加载 2 个下拉菜单的更好方法

    这就是我在页面加载状态和城市下拉列表中加载的方式 我的控制器方法 这是页面加载时调用的第一个方法 public ActionResult Index var states GetStates var cities Enumerable Em
  • 在 Outlook 邮件中发送邮件后 itemId 发生变化

    我正进入 状态itemId之后的邮件项目saveAsync在撰写模式下 邮件项目发送后 项目Id进来Office context mailbox item itemId与撰写模式中给出的不同 用于获取的代码itemId在撰写模式下 var
  • 远程服务器上的 mysqldump

    如果有两台机器客户端和服务器 从客户端如何执行 mysqldump 到服务器 以便转储在客户端上可用而不存储在服务器中 Thanks 这是一个生成 mysqldump 的 PHP 脚本 它直接输出到客户端 不会在服务器上创建任何文件 htt
  • 什么允许函数在返回参数时隐式取消引用参数?

    在读的时候如何借用可变引用而不将其传递给函数 OP 的功能如下 fn deref lt a b a T gt t a mut b mut T gt a mut T t 这对我来说很有意义 然而 他们也指出 正文中的显式取消引用 不需要 fn
  • Java中删除注释的脚本

    有谁知道如何 或过程 在构建时从 Java 类文件中删除注释 当使用 Ant 构建项目时 我想对项目中的特定包执行此操作 任何 ANT 脚本或一些自定义代码最受欢迎 编译后没有任何注释 class file
  • 如何使用 python asyncio 编写 Consumer.Producer 代码?

    我的Python版本是3 6 1 我写了一些东西来使用 Python asyncio 实现消费者 生产者模型 但它并没有按预期工作 四个活动均已创建 但没有任何打印导出 async def consumer queue id while T
  • 使用管道时出现“文件名、目录名或卷标语法不正确。”

    当我在我的机器上运行以下命令 或任何带有管道 的命令 时 目录 findstr 目录 我收到以下消息 文件名 目录名或卷标语法不正确 单独运行 dir 命令或 findstr 命令效果很好 卷标是 volC 盘中的卷是 OSDisk卷序列号
  • wpf 中自定义镀铬 Windows

    我尝试使用 WindowStyle None 和AllowsTransparency True 在 wpf 中创建自定义镀铬窗口 但是 当我最大化窗口时 它会覆盖整个屏幕 并超出其边缘 它还会隐藏我的窗口底部的 Windows 栏 屏幕 就
  • 枚举器的行为会根据我们引用它的方式而变化吗?

    将列表枚举器的引用包装在类中似乎会改变其行为 匿名类的示例 public static void Main var list new List
  • 如何在swift中重载赋值运算符

    我想重写 CGFloat 的 运算符 如下所示 func inout left CGFloat right Float left CGFloat right 所以我可以执行以下操作 var A CGFloat 1 var B Float 2
  • SQL Server:计算每月总销售额,包括空月

    我正在尝试计算一个月内产品的总销售额 但我希望它包括任何 空 月份 没有销售额 并且仅选择最近 12 个月 这是我到目前为止的代码 declare ProductNo int set ProductNo 1234 SELECT YEAR o
  • 如何向 MySQL 表添加“权重”并根据这些权重选择随机值?

    我想创建一个表 每行都包含某种权重 然后我想选择概率等于 该行的权重 所有行的权重 的随机值 例如 如果有 5 行 权重为 1000 中的 1 2 3 4 5 我会得到大约 1 15 1000 67 倍第一行 依此类推 该表需要手动填写 然
  • 使用PowerShell查找字符串中的差异

    所以我正在使用 Compare Object 它对于比较文件效果很好 但如果只是字符串呢 有没有办法找出字符串之间的差异 CompareTo 擅长报告存在差异 但不报告差异是什么 例如 PS gt a PowerShell rocks PS