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

C#如何获取空格分隔字符串中的最后一个单词?

获取字符串最后一个单词的几种方法

好问题!你已经搞定了提取首个单词的逻辑,那获取最后一个单词其实可以用类似的思路,或者更灵活的方式,我给你拆解几种实用方案:

方法一:用LastIndexOf反向查找(和你取首个单词的思路呼应)

你之前用IndexOf找第一个空格的位置,那反过来可以用LastIndexOf从字符串末尾往前找最后一个空格的位置,再截取后面的内容。还要考虑**没有空格(整个字符串是一个单词)**的边界情况:

var longString = "Hello World";
var lastSpacePos = longString.LastIndexOf(" ");
// 如果找不到空格,说明整个字符串就是最后一个单词;否则从空格后一位截取到末尾
var lastWord = lastSpacePos == -1 ? longString : longString.Substring(lastSpacePos + 1);

这种方法的优势是效率高,不需要分割整个字符串,适合处理长文本。

方法二:用Split分割后取最后一个元素

如果更在意代码的可读性,可以把字符串按空格分割成数组,直接取最后一个元素。记得加上StringSplitOptions.RemoveEmptyEntries来过滤掉空字符串(比如处理末尾有多个空格的情况):

var longString = "Hello World   "; // 末尾有多个空格
var wordArray = longString.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
// 先判断数组是否为空(比如输入全是空格的情况),再取最后一个元素
var lastWord = wordArray.Length > 0 ? wordArray[^1] : string.Empty; // C# 8.0+ 可以用 ^1 代替 wordArray.Length -1

这种方法更直观,尤其适合需要同时处理多个单词的场景。

注意边界情况

两种方法都考虑了以下特殊场景:

  • 字符串只有一个单词(比如"Hello")
  • 字符串末尾有多个空格(比如"Hello World ")
  • 字符串全是空格(返回空字符串)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:02:09