You need to enable JavaScript to run this app. C# 如何删除文本框1逐次左删后剩余的最后一个单词
优惠活动
大模型
产品
解决方案
定价
更多

C# 如何删除文本框1逐次左删后剩余的最后一个单词

问题根源说明

现有代码在文本仅剩单个单词时失效的核心原因:

  • IndexOf(" ") 方法在目标字符串不存在匹配的空格时,会返回 -1
  • 原有代码直接执行int k = word.IndexOf(" ") + 1计算,得到的k值为0,此时Substring(0)会返回原字符串的全部内容,相当于没有执行任何删除操作,因此会卡在最后一个单词的状态反复循环。
调整后的实现代码

补充分支判断覆盖无空格的边界场景,完整可运行逻辑如下:

string word = textbox1.Text;
if (!string.IsNullOrEmpty(word))
{
    int spaceIndex = word.IndexOf(" ");
    if (spaceIndex != -1)
    {
        // 存在分隔空格,删除左侧首个单词
        textbox1.Text = word.Substring(spaceIndex + 1);
    }
    else
    {
        // 无空格时仅剩最后一个单词,直接清空文本
        textbox1.Text = string.Empty;
    }
}
调整后的运行效果

按照原有测试的执行次数逻辑,调整后对应结果为:

执行次数文本框显示内容
初始状态this is my first time of learning c#
1is my first time of learning c#
2my first time of learning c#
3first time of learning c#
4time of learning c#
5of learning c#
6learning c#
7c#
8(空字符串)

补充说明:如果遇到文本前后带多余空格的场景,可以在读取word内容时先调用Trim()做前置处理,避免因无效空格导致的判断偏差。

内容的提问来源于stack exchange,提问作者Kcisrael Kicso Acquah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 09:45:04