我有一个字符串: string s ="My Favorite numbers are: 42, 0x42, 24 and 0x24"
有没有使用正则表达式替换所有十六进制数到他们的十进制表示的方法吗?
对于上面的例子,我希望得到: "My Favorite numbers are: 42, 66, 24 and 36"
。
我有一个字符串: string s ="My Favorite numbers are: 42, 0x42, 24 and 0x24"
有没有使用正则表达式替换所有十六进制数到他们的十进制表示的方法吗?
对于上面的例子,我希望得到: "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
。