gpt4 book ai didi

c# - 从 Type.FullName 中删除 namespace 的正则表达式/方法 - C#

转载 作者:太空狗 更新时间:2023-10-30 00:25:33 25 4
gpt4 key购买 nike

我正在编写一种方法来从 System.Type.FullName(不是 XML)中删除命名空间。

我开始使用谷歌搜索,但并没有走得太远,所以转而尝试编写一个可以与 Regex.Replace() 一起使用的 Regex。但我远不是正则表达式艺术的大师,所以我谦虚地向正则表达式之神展示自己。

给定以下输入:

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>

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

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

最佳答案

这个怎么样...

[.\w]+\.(\w+)

...并替换为 $1。在 regex101 上查看实际效果.

通过查看一些 C# 示例,您似乎会这样做

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

关于c# - 从 Type.FullName 中删除 namespace 的正则表达式/方法 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16714064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com