C# 用十进制表示替换所有十六进制数
我有一个字符串:C# 用十进制表示替换所有十六进制数,c#,regex,hex,decimal,C#,Regex,Hex,Decimal,我有一个字符串:string s=“我最喜欢的数字是:42、0x42、24和0x24” 有没有办法用正则表达式将所有十六进制数替换为十进制数 对于上面的示例,我希望得到:“我最喜欢的数字是:42、66、24和36”试试这个(正则表达式和转换): 我假设所有十六进制数都是非负的,并且足够小,可以是int试试这个(正则表达式和转换): 我假设所有的十六进制数都是非负的,并且足够小,可以是int String source = "My Favorite numbers are: 42, 0x42, 2
string s=“我最喜欢的数字是:42、0x42、24和0x24”
有没有办法用正则表达式将所有十六进制数替换为十进制数 对于上面的示例,我希望得到:
“我最喜欢的数字是:42、66、24和36”
试试这个(正则表达式和转换):
我假设所有十六进制数都是非负的,并且足够小,可以是int
试试这个(正则表达式和转换):
我假设所有的十六进制数都是非负的,并且足够小,可以是int
String source = "My Favorite numbers are: 42, 0x42, 24 and 0x24";
String result = Regex.Replace(source, @"0x(\d|[a-f]|[A-F])+",
(MatchEvaluator) (match => Convert.ToInt32(match.Value, 16).ToString()));