首页 新闻 会员 周边 捐助

请教一个正则表达式在.NET中如何实现

0
悬赏园豆:10 [已解决问题] 解决于 2024-02-05 09:34

如果字符串为下面的格式:字母(不区分大小写),可以包含空格(或者不包含)
Populus deltoides
去除字符串两边所有的非英文字符

如果字符串为下面的格式:包含字母(不区分大小写),包含两个英文引号,可以包含空格(或者不包含)
Populus deltoides 'Purple Tower'
去除字符串两边所有的非英文字符,保留字符串中的引号

如果字符串为下面格式:包含汉字,包含中文引号
‘紫塔’东方白杨
去除字符串两边所有的非中文字符,保留字符串中的中文引号

例如
Populus deltoides_123,测试+Populus deltoides 结果为 Populus deltoides
Populus deltoides 'Purple Tower'-123,测试Populus deltoides 'Purple Tower'123,结果为Populus deltoides 'Purple Tower'
‘紫塔’东方白杨123abc,结果为‘紫塔’东方白杨

teagueli的主页 teagueli | 初学一级 | 园豆:75
提问于:2023-02-24 09:14

"非英文字符"是指非 ASCII 字符?

dudu 1年前
< >
分享
最佳答案
0

想去什么特殊符号就加进去
Regex regString = new Regex("[-~#()|【-】· (){}+=*^&%$@!.,,。<>;::;‘’“”、'/_ ]"); ;
text = regString.Replace(text, "-");

收获园豆:10
摸鱼w | 菜鸟二级 |园豆:250 | 2023-02-24 09:26

举一些例子,应该这样识别的

Populus deltoides_123,测试+Populus deltoides 结果为 Populus deltoides
Populus deltoides 'Purple Tower'-123,测试Populus deltoides 'Purple Tower'123,结果为Populus deltoides 'Purple Tower'
‘紫塔’东方白杨123abc,结果为‘紫塔’东方白杨

teagueli | 园豆:75 (初学一级) | 2023-02-24 10:15

分三种情况,在代码里用if判断,需要用好几个正则

teagueli | 园豆:75 (初学一级) | 2023-02-24 10:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册