如果你想找到字符串中的大写字符,你可能会使用正则表达式。亦或者使用你的大写字母列表一个个匹配,当然更灵活的是使用.NET中的 IsUpper()函数。
小编注:.NET是PowerShell的土壤,尽最大可能挖掘出这些framework框架中的函数,是我们伸手党永恒的追求。
下面的例子,会扫描字符串中的每一个字符,然后返回遇到的第一个大写字母的位置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
$text = 'here is some text with Uppercase letters' $c = 0 $position = foreach ($character in $text.ToCharArray()) { $c++ if ([Char]::IsUpper($character)) { $c break } } if ($position - eq $null) { 'No uppercase characters detected.' } else { "First uppercase character at position $position" $text.Substring(0, $position) + "<<<" + $text.Substring($position) } |
输出结果如下:
1
2
|
PS C:\>First uppercase character at position 24 here is some text with U<< |