C#:取的多个药品批准文号中的一个

在C#中,如果想匹配一个字符串,比如"国药准字HJ20090910 国药准字HJ20090911",并找出其中所有以"国药准字"开头的部分,可以使用正则表达式(Regex)来实现这一功能。

方法1:使用正则表达式匹配所有以"国药准字"开头的子串

可以使用`Regex.Matches`方法来找到所有匹配的子串。这里是如何做的:

using System;

using System.Text.RegularExpressions;

class Program

{

static void Main()

{

string text = "国药准字HJ20090910 、国药准字HJ20090911";

string pattern = @"国药准字\w+"; // 使用\w+来匹配任何字母数字字符序列

MatchCollection matches = Regex.Matches(text, pattern);

foreach (Match match in matches)

{

Console.WriteLine(match.Value);

}

}

}

方法2:使用正则表达式捕获组(如果只关心"国药准字"后面的内容)

如果想要捕获"国药准字"后面的特定内容,比如字母和数字组合,可以使用捕获组:

using System;

using System.Text.RegularExpressions;

class Program

{

static void Main()

{

string text = "国药准字Jsabc 国药准字jsbsc";

string pattern = @"国药准字(\w+)"; // 使用(\w+)来捕获字母数字字符序列

MatchCollection matches = Regex.Matches(text, pattern);

foreach (Match match in matches)

{

Console.WriteLine(match.Groups1.Value); // 输出捕获组的内容

}

}

}

```

解释:

  • `@"..."` 是C#中的verbatim string literal,允许字符串跨多行且内部不需要转义字符。

  • `\w+` 匹配一个或多个字母数字字符(等同于a-zA-Z0-9_)。如果你想匹配中文和字母数字,可以使用`\\u4e00-\\u9fa5a-zA-Z0-9+`。

  • `MatchCollection` 是一个包含所有匹配项的集合。

  • `match.Groups1.Value` 用于获取第一个捕获组的内容,即"国药准字"后面的内容。

完整示例(包括中文字符和字母数字):

如果需要匹配包含中文字符和字母数字的组合,可以修改正则表达式如下:

string pattern = @"国药准字(\\u4e00-\\u9fa5a-zA-Z0-9+)"; // 匹配中文字符和字母数字的组合

这样,无论后面的字符是中文字符还是字母数字,都能被正确匹配。

相关推荐
玩泥巴的9 小时前
MAF + 飞书:让大模型干活,但别让它乱干
ai·c#·.net·飞书·agent
cpp_w13 小时前
C#基础3- 面向对象中级应用3
后端·c#
步步为营DotNet14 小时前
Async 状态机要搬进运行时了:.NET 10 Runtime Async 实测,快的地方快 1.5 倍,贵的地方贵 5 倍
性能优化·c#·.net·async·runtime
hixiong12314 小时前
C# 使用 ZXingCpp.Angle 进行条码、二维码识别
开发语言·c#·扫码
步步为营DotNet15 小时前
System.Text.Json 源生成:三个“看起来已经生效“的静默失效
c#·.net·native aot·源生成
用户788477316341 天前
用 C# 把每周 6 小时的 PDF 录入干到 20 分钟:一份可复制的桌面 OCR 方案
c#
csdn_aspnet1 天前
C# .NetCore Swagger ISchemaFilter 处理枚举、特殊类型
c#·.netcore·swagger
滴滴答答哒1 天前
C# 技巧:优雅实现对象的“局部更新”与“字段合并”
开发语言·c#
code_long2 天前
.net core 连接打印机 使用zpl指令打印机,并且位图本地渲染zpl指令
c#·.netcore·位图·打印机·模板编辑·模板预览
csdn_aspnet2 天前
C# .NetCore Swagger ISchemaFilter Long 转 String 防精度丢失
c#·.netcore·swagger