![]() |
1
2
基于已经发布的几个答案。零宽度断言允许您执行正则表达式匹配,而不将这些字符放入匹配中。通过将字符串的第一部分放在一个组中,我们将它与要替换的数字分开。然后,通过在该组中使用零宽度的lookback断言,我们允许正则表达式正常进行,但在匹配中省略该组中的字符。类似地,我们将字符串的最后一部分放在一个组中,并使用零宽度的先行断言。 Grouping Constructs on MSDN 显示组以及断言。
另一种方法是使用以下代码。对正则表达式的修改只是将第一部分放在一个组中,最后一部分放在一个组中。然后在replace字符串中,我们将第一组和第三组相加。不如第一种方法好,但也不如写出$displayHeight部分好。 Substitutions on MSDN 显示$字符的工作方式。
|
![]() |
2
0
试试这个:
|
![]() |
3
0
它替换了整个字符串,因为您已经匹配了整个字符串——关于这个语句,没有任何内容告诉C只替换匹配的组,它将确定找到并存储匹配的组,但它仍然匹配整个字符串。 您可以将替换器更改为:
或者你可以改变你的模式来匹配数字,即:
…或者你可以看看C regex是否支持查找(我不确定它是否是现成的),并相应地更改你的匹配。 |
![]() |
4
0
您也可以尝试这个方法,尽管我认为它比我的其他方法慢一点:
|
![]() |
5
0
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |