gpt4 book ai didi

c# - 查找字符串中最后一位数字的正则表达式是什么?

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

我的大脑一定很疲惫,但我无法让它工作,而且我对正则表达式的经验很少。

我有一个字符串,例如“gfdsgfd354gfdgfd55gfdgfdgfs9gfdgsf”。

我需要一个正则表达式来查找字符串中的最后一位数字 - 在本例中为“9”。

编辑

我应该说得更清楚,但正如我所说,我很困惑。

就是在最后一位数字前插入一个连字符。我正在使用 C# Regex.Replace。使用 Dave Sexton 已经提出的想法,我尝试了以下但没有成功:

    private string InsertFinalDigitHyphen(string data)
{
return Regex.Replace(data, @"(\d)[^\d]*$", " $1");
}

有了这个,我可以处理“ABCDE1FGH”,目的是得到“ABCDE-1FGH”,但实际上我得到了“ABCDE-1”。

最佳答案

我总是发现正则表达式难以阅读,因此您可以使用以下 LINQ 语句以替代方式完成:

string str = "gfdsgfd354gfdgfd55gfdgfdgfs9gfdgsf";
var lastDigit = str.Last(char.IsDigit);

输出:

9

要在此之前插入一个连字符,您可以使用 LastIndexOf 而不是 Last 并使用该索引将连字符插入字符串中的正确位置。

关于c# - 查找字符串中最后一位数字的正则表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045765/

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