gpt4 book ai didi

c# 包含单词异常编号

转载 作者:行者123 更新时间:2023-11-30 13:58:16 25 4
gpt4 key购买 nike

我需要搜索一个字符串,看看它是否包含 "<addnum(x)>"

我已经在我搜索的其他词上使用了 .contains,我能想到的最简单的方法是您可以以某种方式对数字进行异常(exception)处理,或者您是否需要为此使用其他代码?

到目前为止我的代码。

public List<string> arguments = new List<string>();

public void Custom_naming(string name_code)
{
arguments.Add("Changing the name to " + name_code); // Sets the new name.

if( name_code.Contains("<addnum>") )
{
Add_number();
}

if (name_code.Contains("<addnum(x)>"))
{// X = any number.
}
}
private void Add_number()
{
arguments.Add("Replaces all <addnum> with a number");
}

private void Add_number(int zeros)
{
arguments.Add("Replaces all <addnumxx> with a number with lentgh of");
}

最佳答案

您可能需要使用正则表达式:

var match = Regex.Match(name_code, @"<addnum(?:\((\d+)\))?>");
if (match.Success)
{
int zeros;
if (int.TryParse(match.Groups[1].Value, out zeros))
{
Add_number(zeros);
}
else
{
Add_number();
}
}

这将返回调用适当的 Add_number方法如果 name_code包含 <addnum>或类似 <addnum(123)> 的东西.

如果 name_code 中可能有不止一个这样的,例如<addnum(1)><addnum(2)> ,您需要使用循环来分析每个匹配项,如下所示:

var matches = Regex.Matches(name_code, @"<addnum(?:\((\d+)\))?>");
foreach(var match in matches)
{
int zeros;
if (int.TryParse(match.Groups[1].Value, out zeros))
{
Add_number(zeros);
}
else
{
Add_number();
}
}

关于c# 包含单词异常编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17772358/

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