用十进制表示法替换所有十六进制数
Replacing all Hex numbers with Decimal representation
我有一个字符串:string s ="My Favorite numbers are: 42, 0x42, 24 and 0x24"
有没有办法使用 Regex 将所有十六进制数替换为十进制表示形式?
对于上面的例子,我希望得到:"My Favorite numbers are: 42, 66, 24 and 36"
.
试试这个(正则表达式和转换):
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()));
我假设所有十六进制数都是 非负数 并且 足够小 为 int
。
我有一个字符串:string s ="My Favorite numbers are: 42, 0x42, 24 and 0x24"
有没有办法使用 Regex 将所有十六进制数替换为十进制表示形式?
对于上面的例子,我希望得到:"My Favorite numbers are: 42, 66, 24 and 36"
.
试试这个(正则表达式和转换):
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()));
我假设所有十六进制数都是 非负数 并且 足够小 为 int
。