gpt4 book ai didi

c#正则表达式问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:17 25 4
gpt4 key购买 nike

我在处理 Regex 中的 @ 符号时遇到问题,我正在尝试删除 @sometext从文本字符串中似乎无法找到它使用 @ 作为文字的任何地方。我自己试过了,但没有从字符串中删除这个词。有什么想法吗?

public string removeAtSymbol(string input)
{
Regex findWords = new Regex(______);//Find the words like "@text"
Regex[] removeWords;

string test = input;
MatchCollection all = findWords.Matches(test);
removeWords = new Regex[all.Count];
int index = 0;
string[] values = new string[all.Count];

YesOutputBox.Text = " you got here";

foreach (Match m in all) //List all the words
{
values[index] = m.Value.Trim();
index++;
YesOutputBox.Text = YesOutputBox.Text + " " + m.Value;
}

for (int i = 0; i < removeWords.Length; i++)
{
removeWords[i] = new Regex(" " + values[i]);

// If the words appears more than one time
if (removeWords[i].Matches(test).Count > 1)
{
removeWords[i] = new Regex(" " + values[i] + " ");
test = removeWords[i].Replace(test, " "); //Remove the first word.
}
}

return test;
}

最佳答案

您可以通过方法从字符串 test 中删除所有出现的 "@sometext"

Regex.Replace(test, "@sometext", "")

或者对于以 "@" 开头的任何单词,您可以使用

Regex.Replace(test, "@\\w+", "")

如果您特别需要一个单独的词(即 tom@comp.com 中的 @comp 之类的东西),您可以在正则表达式之前加上一个特殊的词边界(\b 在这里不起作用):

Regex.Replace(test, "(^|\\W)@\\w+", "")

关于c#正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6296403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com