使用String类命令:
之前已经讨论过,对象方法和类方法的区别了,再回顾一次。String对象衍生自string类
在控制台输入[String]::然后按Tab键会自动智能提示,这些方法就是String类命令。
Get-Member会返回所有string对象的方法,可以通过参数只返回静态方法,也就是string类命令。使用几率最高的自然Format方法,但是因为PowerShell中已经有了大书特书的-F操作符了,Format方法可以秒杀了。但是Join和Contac还是可以聊聊的。
Join()方法曾经在上一部分演示Split()提到过,它可以将一个数组或者列表字符串合以指定分隔符并成一个字符串。例如自定义一个函数,移除多余的白空格。
function RemoveSpace([string]$text) { $private:array = $text.Split(" ", ` [StringSplitOptions]::RemoveEmptyEntries) [string]::Join(" ", $array) }
PS C:\> RemoveSpace("PowerShell 中文博客的网址为 :https://www.pstips.net") PowerShell 中文博客的网址为 :https://www.pstips.net
Concat()将多个字符串拼接成一个字符串。
Concat()工作起来类似字符串操作符“+”,类似而已,总有区别。
PS C:\> "Hello" + " " + "World!" Hello World!
区别在于第一个左表达式必选是一个String类型,否则,麻烦来了:
PS C:\> (Get-Date) + "PStips.Net" 无法将“op_Addition”的参数“1”(其值为“PStips.Net”)转换为类型“System.TimeSpan”:“无法将值“PStips.Net”转换为类型“System.TimeSpan”。错误:“字符串未被识别为有效 的 TimeSpan。”” 所在位置 行:1 字符: 13 + (Get-Date) + <<<< "PStips.Net" + CategoryInfo : NotSpecified: (:) [], MethodException + FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument
此时可以使用:
PS C:\> ""+(Get-Date) + "PStips.Net" 06/04/2013 00:54:27PStips.Net
或者:
PS C:\> [string]::Concat((Get-Date),"PStips.Net") 2013/6/4 0:55:00PStips.Net
本文链接: https://www.pstips.net/string-class-methods-2.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!