C#正则表达式如何提取一段字符串中汉字后的数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#正则表达式如何提取一段字符串中汉字后的数字相关的知识,希望对你有一定的参考价值。

如“张三20洗衣服OP21李误导7昭乌达放个”,提取20和7

string ssss = "张三20洗衣服OP21李误导7昭乌达放个";
List<string> list = new List<string>();
foreach (Match m in Regex.Matches(ssss, "(?<=[\\u4e00-\\u9fa5]+)[0-9]+"))//[\\s\\S]*.

    list.Add(m.Groups[0].Value);


string a = list[0];
string b = list[1];

参考技术A (?<=[\u4e00-\u9fa5]+)[0-9]+追问

我的意思是能给我定义的两个变量a b分别赋值从字符串里提取的20和7,能给完整一点的代码吗

java正则提取字符串中的符号汉字数字字母

提取字符串中的符号

	/**
	 * 提取字符串中的所有符号
	 * @param str
	 * @return
	 */
	public static String getSymbol (String str) 
        String chinese = "[\\\\u4e00-\\\\u9fa5\\\\w\\\\d]";//汉字字符集+英文字符集+数字字符集
        Pattern p = Pattern.compile(chinese);
        Matcher m = p.matcher(str);
        return m.replaceAll("");
    
    public static void main(String[] args) throws Exception 
		String str = ".饿、啊,市。安·A 邯|山!z-吃123";
		str = getSymbol(str);
		System.out.println(str);
		//运行结果:.、,。· |!-
	

提取字符串中的中文

//获取字符串中的中文
public static String getStrChinese(String str) 
	String regEx="[^\\\\u4e00-\\\\u9fa5]";
	Pattern p = Pattern.compile(regEx);
	Matcher m = p.matcher(str);
	return m.replaceAll("").trim();

public static void main(String[] args) 
	String str = ".饿、啊,市。安·A 邯|山!z-吃123";
	str = getStrChinese(str);
	System.out.println(str);
	//运行结果:饿啊市安邯山吃

提取字符串中的数字+英文

//获取字符串中的数字+英文
public  static String getStrNumberEnglish(String str) 
	String regEx="[^0-9A-Za-z]";
	Pattern p = Pattern.compile(regEx);
	Matcher m = p.matcher(str);
	return m.replaceAll("").trim();

public static void main(String[] args) 
	String str = ".饿、啊,市。安·A 邯|山!z-吃123";
	str = getStrNumberEnglish(str);
	System.out.println(str);
	//运行结果:Az123

以上是关于C#正则表达式如何提取一段字符串中汉字后的数字的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式提取数字

正则表达式如何在几个汉字词组之间选择

C#限制文本框只能输入指定的类型(汉字数字)

正则表达式

js 正则表达式提取某一段字符

正则表达式,选择特定字符串后的数字