在c#中获取一个特殊的子字符串
本文关键字:一个 字符串 获取 | 更新日期: 2023-09-27 18:15:48
我需要从现有字符串中提取一个子字符串。这个字符串以无趣的字符(包括"," "空格"和数字)开始,以",123,"或",57 "或类似的数字可以改变的地方结束。我只需要数字。由于
public static void Main(string[] args)
{
string input = "This is 2 much junk, 123,";
var match = Regex.Match(input, @"('d*),$"); // Ends with at least one digit
// followed by comma,
// grab the digits.
if(match.Success)
Console.WriteLine(match.Groups[1]); // Prints '123'
}
匹配数字的正则表达式:Regex regex = new Regex(@"'d+");
源代码(稍作修改):仅用于数字的Regex
我想这就是你要找的:
使用Regex
从字符串中删除所有非数字字符using System.Text.RegularExpressions;
...
string newString = Regex.Replace(oldString, "[^.0-9]", "");
(如果不希望在最终结果中使用小数分隔符,请删除。
试试这样:
String numbers = new String(yourString.TakeWhile(x => char.IsNumber(x)).ToArray());
您可以使用'd+来匹配给定字符串中的所有数字
所以你的代码应该是var lst=Regex.Matches(inp,reg)
.Cast<Match>()
.Select(x=x.Value);
lst
现在包含了所有的数字
但如果你的输入与你的问题提供的相同,你不需要regex
input.Substring(input.LastIndexOf(", "),input.LastIndexOf(","));