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

在Visual C#中如何删除字符串指定内容并提取目标值?

在Visual C#中操作字符串:删除指定内容与提取目标子串

嘿,我来帮你搞定这两个C#字符串处理的问题!

一、通用方法:从字符串中删除某个单词

根据需求不同,有两种常用方式:

  • 简单替换(不考虑单词边界):如果不需要担心误删包含目标单词的其他词汇,直接用string.Replace()方法把目标单词替换为空字符串就行:
string original = "This is a test string, test again";
string result = original.Replace("test", "");
// 输出结果:"This is a  string,  again"
  • 精准删除(考虑单词边界):如果要确保只删除独立的目标单词(比如不想把"testing"里的"test"删掉),可以用正则表达式的\b(单词边界)来匹配:
using System.Text.RegularExpressions;

string original = "This is testing, test this";
string result = Regex.Replace(original, @"\btest\b", "", RegexOptions.IgnoreCase);
// 输出结果:"This is testing,  this"

二、针对你的特定需求:提取密码"123456"

针对你给出的字符串string message = "Hi, Your Password is: 123456. Thanks",这里有几种简单可靠的实现方式:

方法1:分步删除多余内容

先去掉末尾的. Thanks,再提取密码部分:

string message = "Hi, Your Password is: 123456. Thanks";
// 第一步:移除末尾的". Thanks"
string trimmedMessage = message.Replace(". Thanks", "");
// 第二步:找到"Password is: "的位置,截取后面的内容
string password = trimmedMessage.Substring(trimmedMessage.IndexOf("Password is: ") + "Password is: ".Length);
// 最终得到:"123456"

方法2:正则直接提取数字

因为密码是连续的纯数字,直接用正则匹配数字序列更高效:

using System.Text.RegularExpressions;

string message = "Hi, Your Password is: 123456. Thanks";
Match numberMatch = Regex.Match(message, @"\d+");
if (numberMatch.Success)
{
    string password = numberMatch.Value; // 得到"123456"
}

方法3:字符串分割法

通过分割符拆分字符串,一步步提取目标内容:

string message = "Hi, Your Password is: 123456. Thanks";
// 先按"Password is: "分割取第二部分,再按"."分割取第一部分,最后去掉可能的空格
string password = message.Split(new[] { "Password is: " }, StringSplitOptions.None)[1]
                        .Split('.')[0]
                        .Trim();
// 结果:"123456"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:25:30