从字符串中提取几个字符

本文关键字:几个 字符 字符串 提取 | 更新日期: 2023-09-27 18:02:29

我遇到了以下问题:

我得到包含某个数字的字符串,名称中没有模式。

例如:

string str1 = "new2string";
string str2 = "example1str";
string str3 = "str1example";

现在我需要从数字前的每个字符串中提取几个字符。在每个字符串中总是一个数字。例如,我需要从字符串1"new2",从字符串2"ple1"和从字符串3"str1"。

这应该不难,但我想不出一个简单的答案。

我想看看你们的例子!

从字符串中提取几个字符

正则表达式是在String中搜索某些模式的强大工具。

您可以使用Regex.Match方法来搜索模式。

你可以在这里找到c#可能的模式元素列表。

在你的情况下,Jon Skeet已经在他的评论中提出了一个很好的解决方案。另外,您还可以使用以下模式:

string searchPattern = @"'w{3}'d";

'w{3}表示:一个单词字符正好出现3次,然后'd正好出现1个数字

你可以像这样使用模式

string match = Regex.Match(str1, searchPattern).Value;
var regex = new Regex(".{3}''d");
var str1 = "example1str";
var res = regex.Match(str1).Value;