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

前端之家收集整理的这篇文章主要介绍了从Type.FullName中删除命名空间的正则表达式/方法 – C#前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个方法来从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");

猜你在找的正则表达式相关文章