[玩转系统] PowerShell 子字符串:在字符串中查找字符串
作者:精品下载站 日期:2024-12-14 12:40:23 浏览:15 分类:玩电脑
PowerShell 子字符串:在字符串中查找字符串
管理员世界中的一个常见场景是找到一种方法来查找字符串中的特定文本片段;称为子串。 PowerShell 使查找子字符串变得极其容易。
相关:学习字符串格式和扩展字符串
PowerShell 和字符串
在 PowerShell 世界中,字符串由一组用单引号或双引号括起来的字符组成。像 "foo"
和 'bar'
这样的字符串非常常见。
相关:回归基础:PowerShell 字符串
假设您在变量中定义了一个字符串,并且只需要查找它的一部分?例如,假设您有一个地址为 1234 4th St 的字符串。您想提取该号码并知道前四个字符始终是您需要的号码。在这种情况下,您可以使用 PowerShell substring()
方法。
使用 PowerShell 子字符串方法
要使用 PowerShell 查找字符串中的字符串,可以使用 Substring()
方法。 PowerShell 中的每个字符串对象都可以找到此方法。
例如,也许您有一个类似 The Quick Brown Fox Jumped over the fence.
的字符串。您希望找到前五个字符。您可以使用 Substring()
方法来做到这一点,如下所示:
$string = 'The quick brown fox jumped over the fence.'
$string.Substring(0,5)
传递给 Substring()
方法的第一个参数是最左边字符的位置。在本例中,最左边的字符是 T
。第二个参数是最右边的字符位置。在本例中,字符是q
。
Substring()
方法返回它们之间的所有字符。
这是一个现实世界的例子:
假设我们有一个具有以下格式的产品代码:XXXXVVVV-MM-DD-YYYY
。所有产品都具有此代码格式,并且永远不会偏离它。现在假设生成此代码的库存管理软件在数据库中不包含创建日期字段。
但是,软件始终将此日期作为 MM-DD-YYYY
放在产品代码本身中,以便我们可以从产品代码中推断出这一点。我们需要为我们的产品获取这个日期,以便为管理层创建一些超级花哨但极其不必要的报告,以显示每个产品何时插入数据库。这是完成此任务的好方法。
$product_code = 'ABCD1234-11-12-2013'
$date_created = [DateTime]$product_code.SubString($product_code.Length-10)
在此示例中,我们对固有字符串对象使用 PowerShell SubString()
方法,并将我们要查找的第一个字符的数字作为参数传递。
由于我们没有指定停止字符,因此假设我们希望所有字符都位于字符串的末尾。为了首先找到这个数字,我们首先要获取整个产品代码的长度,然后简单地从中减去 10。在此示例中,这意味着我们要从字符串右侧的第 10 个字符及其右侧的所有字符开始。
[DateTime]
类型不一定与帖子的子字符串主题一致,但我认为它非常适合特定的示例。
获得 11-12-2013 的字符串后,我们将其转换为 [DateTime]
对象,该对象将曾经是一个哑字符串转换为一个漂亮的对象。从这里,我们可以执行所有精美的日期算术管理希望我们对其执行的操作,并生成精美的条形图报告!
使用长度属性动态查找子字符串
在上面的示例中,您静态定义了字符串内部字符的开始和结束位置。但是如果您不知道最后一个位置怎么办?
也许您需要从最后四个字符中找到子字符串。您需要找到从第四个到最后一个位置一直到最后的字符集。您正在搜索的字符串可以是任意长度。
我们可以使用字符串的长度并从中扣除一定数量的字符来动态指定结束位置,而不是将结束位置定义为从左侧计数的正数。
使用上面的字符串 $product_code='ABCD1234-11-12-2013'
,也许您想查找最后四个字符。而不是做这样的事情:
PS> $product_code = 'ABCD1234-11-12-2013'
PS> $product_code.SubString(0,4)
ABCD
您可以将 0
替换为 $product_code.Length - 4
,甚至根本不使用结束位置,它将返回最后四个字符,如下所示。
PS> $product_code = 'ABCD1234-11-12-2013'
PS> $product_code.SubString($product_code.Length-4)
2013
如果不指定结束位置,PowerShell 子字符串方法将始终默认为最后一个字符位置。
使用字符串的 length
属性(即字符串中的字符总数)并从该计数中扣除,您可以动态挑选子字符串。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[短剧] 2025年05月31日 精选+付费短剧推荐58部
[软件合集] 25年5月31日 精选软件66个
[电影] 黄沙漫天(2025) 4K.EDRMAX.杜比全景声 / 4K杜比视界/杜比全景声
[风口福利] 短视频红利新风口!炬焰创作者平台重磅激励来袭
[韩剧] 宝物岛/宝藏岛/金银岛(2025)【全16集】【朴炯植/悬疑】
[电影] 愤怒的牦牛 (2025) 国语中字 4k
[短剧合集] 2025年05月30日 精选+付费短剧推荐56部
[软件合集] 25年5月30日 精选软件26个
[软件合集] 25年5月29日 精选软件18个
[短剧合集] 2025年05月28日 精选+付费短剧推荐38部
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag