加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从Type.FullName中删除命名空间的正则表达式/方法 – C#

发布时间:2020-12-14 06:03:06 所属栏目:百科 来源:网络整理
导读:我正在编写一个方法来从System.Type.FullName(不是 XML)中删除命名空间. 我开始使用谷歌搜索,并没有太远,所以切换到试图写一个我可以使用Regex.Replace()的正则表达式.但我远不是正规法师的艺术大师,所以我在正则先知的众神之前谦卑地展示自己. 鉴于以下输入
我正在编写一个方法来从System.Type.FullName(不是 XML)中删除命名空间.

我开始使用谷歌搜索,并没有太远,所以切换到试图写一个我可以使用Regex.Replace()的正则表达式.但我远不是正规法师的艺术大师,所以我在正则先知的众神之前谦卑地展示自己.

鉴于以下输入:

name.space.class
name.space.class<other.name.space.class1>
name.space.class<other.name.space.class1,shortSpace.class2>

我需要删除命名空间,所以我得到:

class
class<class1>
class<class1,class2>

或者,如果有人知道具有此功能的现有库,那就更好了!

注意:我知道System.Type有一个Namespace属性,可以用来删除命名空间(即System.Type.FullName – System.Type.Namespace),但我的方法将类型名称作为字符串,需要使用类型运行时不知道的名称(无法解析).

解决方法

这个怎么样…

[.w]+.(w+)

……并以1美元换货.请参阅regex101的实际操作.

从查看一些C#示例看起来你会这样做

string output = Regex.Replace(input,@"[.w]+.(w+)","$1");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读