You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell技术问询:如何在字符串第二个空格处截断保留单个姓名?

解决方法:在第二个空格处截断字符串保留首个姓名对

嘿,针对你现在的输入格式,我们可以用两种简单的PowerShell方法来实现需求,直接得到Firstname Lastname的结果:

方法一:正则替换法

用正则表达式精准匹配并保留前两个空格分隔的单词,替换掉后面所有内容:

# 示例输入字符串
$inputString = "John Doe Jane Smith Bob Brown"
# 执行替换
$outputString = $inputString -replace '^(\w+ \w+).*', '$1'
# 输出结果:John Doe
Write-Output $outputString

正则说明:

  • ^:锚定字符串开头,确保从最开始匹配
  • (\w+ \w+):捕获第一个完整的姓名对(第一个\w+是名字,空格后第二个\w+是姓氏),括号里的内容会被保存为捕获组$1
  • .*:匹配从第二个空格开始到字符串结尾的所有内容
  • 替换为$1就只保留我们需要的首个姓名对啦

方法二:拆分拼接法

如果觉得正则有点绕,用字符串拆分再拼接的方式更直观:

# 示例输入字符串
$inputString = "John Doe Jane Smith Bob Brown"
# 拆分字符串为最多3部分,取前两部分再拼接
$outputString = ($inputString -split ' ', 3)[0..1] -join ' '
# 输出结果:John Doe
Write-Output $outputString

逻辑说明:

  • -split ' ', 3:按空格拆分字符串,最多拆成3段(前两段是首个姓名的名和姓,第三段是剩下的所有内容)
  • [0..1]:取拆分后的前两个元素(名字和姓氏)
  • -join ' ':把这两个元素用空格连接起来,就是我们要的结果啦

两种方法都能完美实现你的需求,选你觉得顺手的就行~

内容的提问来源于stack exchange,提问作者Philip Schnurrenberger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:22:55