如何测试一个字符串是否包含多个子字符串之一?

2024-03-28

我想知道一个字符串是否包含以下之一abc, def, xyz等等。我可以这样做:

$a.Contains("abc") -or $a.Contains("def") -or $a.Contains("xyz")

好吧,它可以工作,但是如果这个子字符串列表发生变化,我必须更改代码,并且性能很差,因为$a被扫描多次。

有没有一种更有效的方法只需调用一个函数即可做到这一点?


您可以使用 -match 方法并使用 string.join 自动创建正则表达式:

$referenz = @('abc', 'def', 'xyz')    
$referenzRegex = [string]::Join('|', $referenz) # create the regex

Usage:

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

如何测试一个字符串是否包含多个子字符串之一? 的相关文章

  • Python-将字符串转换为数组

    如何使用 Python 将以下字符串转换为数组 该字符串可能有无限数量的项目 Foo Bar Baz Woo 这绝对也是一个字符串表示形式 type gave
  • 如何修改此 PowerShell 脚本以将目录名称更改为更低?

    我试图将所有文件和目录重命名为 lower 我在这里找到了一个 powershell 脚本 在 Powershell 中将文件重命名为小写 https stackoverflow com questions 3822745 rename f
  • 按“字符串”名称对 LINQ 进行排序

    问题解决了 解决方案是 Linq Dynamic 你这样做 from c in Context AccountCharts where c Account FK account c Year FK year select c OrderBy
  • 如何使用 powershell 以编程方式查找用户 HKEY_USERS 注册表项?

    我想知道如果您知道本地计算机上该用户的登录名 是否有办法在 HKEY USERS 中找到该用户的注册表项 我想以编程方式将内容添加到特定用户的注册表项 例如自动运行 但我只知道用户名 如何确定 HKEY USERS 中的哪些神秘用户实际上属
  • 比较 2 个数组并列出差异 - Swift

    我想知道如何比较两个布尔数组并列出不匹配的布尔值 我写了一个包含 2 个数组的简单示例 let array1 true false true false let array2 true true true true 我如何比较 array1
  • 是否可以在不使用清单的情况下设置 Powershell 模块名称/版本?

    我可以看到 如果没有清单 默认模块名称将设置为 psm1 文件名 但是有没有办法在模块代码中设置它 我也想在代码中设置版本 如果您要导入二进制模块 则将从程序集元数据中提取模块版本 然而 该名称只是 DLL 的文件名 对于脚本模块 psm1
  • Visual Basic 6.0 中的无效限定符错误

    在 Visual Basic 6 0 程序中 我有一个字符串 sTemp 我想确保它不包含引号 我有这行 If sTemp Contains Then 但是当我在 sTemp 之后输入句点时 我没有从智能感知中得到任何信息 并且当我尝试编译
  • Java ByteBuffer 到 String

    这是将 ByteBuffer 转换为 String 的正确方法吗 String k abcd ByteBuffer b ByteBuffer wrap k getBytes String v new String b array if k
  • 使用 Powershell 关闭 Excel 应用程序

    我正在从 powershell 启动工作簿中的宏 以自动化流程 下面在 powershell 中打开 Excel 工作簿并运行宏 而不可视化该过程 问题是 即使我没有看到宏运行 从宏生成的新 excel 实例仍然打开 start Excel
  • powershell中的&符号是什么意思?

    tool C Program Files gs gs9 07 bin gswin64c exe tool q dNOPAUSE sDEVICE tiffg4 param r300 pdf FullName c quit 有人可以向我解释这是
  • 开始作业时无法识别功能

    我在模块 sysinfo psm1 中创建了一个函数 Get Uptime 并导入了该模块 C pstools gt get command Module sysinfo CommandType Name Definition Functi
  • 如何在文本文件中找到最长的 N 行并将其打印到标准输出?

    第一行包含数字 N 的值 后跟多行 我可以按照n 2算法的顺序解决它 有人可以建议一个更好的吗 您可以使用最小堆并在 O n log N 中完成 heap new Min Heap N foreach line in text if len
  • 从 C# 运行 32 位或 64 位 PowerShell

    我构建了一个执行 PowerShell 脚本的 32 位 NET DLL 我需要它能够以 64 位模式运行脚本and 32 bit 我已经知道如何使用命令行执行此操作 C Windows Sysnative cmd c powershell
  • 发生错误时如何停止powershell脚本?

    我有一个 主 powershell 脚本 它执行多个在虚拟机上安装应用程序的脚本 我正在尝试在主脚本上实现错误控制 意思是 如果安装应用程序的脚本之一失败 则不会执行其余脚本 这是我的主要脚本 try powershell exe Exec
  • 字符串到 CLLocation 纬度和经度

    我有两个表示纬度和经度的字符串 例如 56 6462520 我想将其分配给 CLLocation 对象以与我当前的位置进行比较 我尝试了以下代码 但只收到错误 CLLocation LocationAtual CLLocation allo
  • 当字符串和类都是引用类型时

    这是我上次面试的情况 问题 字符串存储在哪里 Answer 堆因为它是引用类型 问题 解释一下下面的代码 static void Main string args string one test string two one one one
  • 打开和关闭 RDP 窗口

    我有很多服务器 我想检查是否可以使用 RDP 连接到它们 我有 2000 台服务器 所以我想实现自动化 我对 PowerShell 不太熟悉 以下是我所掌握的 列表 txt ip1 ip2 ip3 ipn 这是我的代码 我在每个 ip 上循
  • 在 PHP 中用星号 (*) 提示或部分隐藏电子邮件地址

    我有这个邮件地址 email protected cdn cgi l email protection 如何将其转换为该邮件地址a email protected cdn cgi l email protection 我尝试使用strpos
  • PHP检查字符串是否包含多个单词

    我在互联网上查找了一些可以做到这一点的东西 但它只能用一个词来实现 我正在尝试构建一个脚本来检测我的网站的错误用户名 如果用户名包含数组中的任何单词 则将检测到错误的用户名 这是我编写的代码 但未能运行 bad words array yo
  • L"" 和 u8"" 之间的区别

    以下有什么区别吗 auto s1 L 你好 auto s2 u8 你好 Are s1 and s2指的是同一类型 如果不是 有什么区别以及首选哪一个 它们不是同一类型 s2是 UTF 8 或窄字符串文字 这C 11标准草案 http www

随机推荐

  • 为什么在 Java 中右移 16 乘以 32 结果是 16 而不是 0? 16>>32 = 16 为什么? [复制]

    这个问题在这里已经有答案了 我在java中使用右移运算符时遇到了一个奇怪的情况 当我右移 16 乘 31 时 结果为 0 但是尝试右移 16 乘 32 时 它本身仍然是 16 有人可以解释一下吗 因为我对此感到疯狂 public class
  • 如何将对话框指令与 Alexa 的 java SDK 一起使用

    我正在尝试使用 java 技能套件创建我自己的 Alexa 技能 并且我想使用对话框界面 我已经使用测试版的技能生成器创建了我的对话模型 但现在我不明白我需要通过我的网络服务返回什么才能委托我的对话 我应该使用哪个类向 Alexa 发送命令
  • WP7 TimePicker 选择 24 小时格式的时间

    有没有办法让WP7的TimePicker允许用户选择24小时格式的时间 如果我将 TimePicker ValueStringFormat 设置为 0 HH mm ss 它会以 24 小时格式显示 但当我单击它时 输入时间仍为 12 小时格
  • 编译器预处理期间的数学运算

    我经常遇到这样的情况 我需要在编译时生成几个常量以用于移位和屏蔽操作 e g define blockbits 8 define blocksize 256 could be generated from 2 blockbits defin
  • 字母数字会包含 _ 和空格吗?

    如果字段定义为字母数字 是否允许使用空格和下划线 我希望他们不是 有人能证实吗 根据定义 字母数字字符仅包含字母 A 到 Z 和数字 0 到 9 空格和下划线通常被视为标点符号 因此不应该允许使用它们 如果某个字段明确指出 字母数字字符 空
  • Perl 中有 inf 常量吗?

    我正在为算法初始化一个无穷大的列表 写作 x 9 9 9感觉不直观 而且我将来可能想使用 BigInt 1 0抛出错误 获得的规范方法是什么inf 您可以使用特殊字符串 inf perl E say inf 1 inf perl E say
  • .htaccess 用于 HTML5 模式的 AngularJS 应用程序的子文件夹

    概述 我有一个 AngularJS 应用程序 它使用 locationProvider html5Mode true 它由 Apache 服务器提供 到目前为止 我使用的源代码是从其他人那里访问的 我只需要重定向到 index html 以
  • 为什么 EnumerateFiles 比计算大小快得多

    对于我的 WPF 项目 我必须计算单个目录 可能有子目录 中的总文件大小 Sample 1 DirectoryInfo di new DirectoryInfo path var totalLength di EnumerateFiles
  • Android 中如何获取当前 Button 文本颜色?

    我不知道如何获取按钮文本的当前颜色 我知道可能是这样 但无法完全弄清楚参数 public static int getTextColor Context context TypedArray attrs int def 基本上我正在尝试这样
  • 渲染问题无法加载LayoutLib:

    渲染问题无法加载LayoutLib com android layoutlib bridge Bridge 详情 org jetbrains android uipreview RenderingException Failed to lo
  • 在 xml 编辑器中在字符串资源的引用和值预览之间切换

    在 Android Studio 中使用 xml 值并引用时 Strings xy例如 我在视频中看到 实际上可以直接在同一编辑器窗口中显示实际值 它是基本上是在之间切换 String xy和 XYContent 但引用仍然存在 我不是指
  • 在服务器上强制 svn:eol-style=native?

    目前 为了保证颠覆性eol style被设定为native对于添加到项目中的每个新文件 我们必须将其添加到 subversion config我们每台开发人员机器上的文件 miscellany enable auto props yes a
  • c# Xamarin UITextField 设置光标位置

    我需要将 UITextField 的光标定位在与另一个先前文本字段完全相同的位置 我将光标在第一个文本字段中的位置设为nint index txtToField GetOffsetFromPosition txtToField Beginn
  • Android 时差与乔达时间

    我有这个简单的代码 使用 Joda time 工作正常 但我有一个问题 比如返回814分钟 通过代码就可以了 但我希望结果少于 60 分钟 而不是 814 分钟 那么 我该如何转换这 814 分钟才能得到我想要的结果呢 同样的情况也发生在几
  • YouTube Live API 流状态和质量回调

    In the Live Control Room of a YouTube Live broadcast I can see a Stream Status view which shows me details of the video
  • 尝试上传到 Amazon S3 时出现“不支持的正文有效负载对象”

    我想将文件从我的前端上传到我的 Amazon S3 AWS 我正在使用 dropzone 因此我转换文件并将其发送到我的后端 在我的后端我的文件是这样的 fieldname file originalname test torrent en
  • 从 Mono 列表创建 Flux 的正确方法

    假设我有一个使用 CustomObjects 列表的 API 操作 对于其中的每一个对象 它都会调用一个创建 Mono 的服务方法 如何以惯用且非阻塞的方式从这些 Mono 对象创建 Flux 我现在想到的就是这个 我更改了方法名称以更好地
  • 如何在 Telegram API 中转发消息

    Telegram API 中有 2 种转发消息的方法 messages forwardMessage messages forwardMessages 我想用forwardMessage转发消息的方法channel group or use
  • 修复了 div 内的非滚动页脚?

    我正在页面中央制作一个小 div 它有一个固定的页脚 但该 div 是可滚动的 根据我的说法 有两种方法可以做到这一点 Using position fixed 固定位置实际上是相对于浏览器窗口起作用的 但我想要相对于我的小 div 的位置
  • 如何测试一个字符串是否包含多个子字符串之一?

    我想知道一个字符串是否包含以下之一abc def xyz等等 我可以这样做 a Contains abc or a Contains def or a Contains xyz 好吧 它可以工作 但是如果这个子字符串列表发生变化 我必须更改