gpt4 book ai didi

c# - 如何从字符串中删除枚举?

转载 作者:行者123 更新时间:2023-12-04 09:42:36 25 4
gpt4 key购买 nike

我有一组枚举值和一个输入字符串,如果字符串的后缀是枚举名称之一,我想删除它。

例如,假设我有

enum colors { red, blue, green, white }

我收到输入字符串“ str = evergreen”,我想做类似的事情
if (str.endsWith(colors)) {
output = str.trimSuffix(colors)
}

并获取字符串 everoutput .修改 str 本身而不是将其保存到新变量也可以。

有没有一种简单和/或优雅的方法来做到这一点,而无需将枚举硬编码为字符串数组并对其进行迭代?

最佳答案

此代码将从 str 中删除任何后缀在 enum 中定义以下

var values = Enum.GetNames(typeof(colors));
var str = "evergreen";

var suffix = values.OrderByDescending(v => v.Length)
.FirstOrDefault(v => str.EndsWith(v));

if(suffix != null)
{
str = str.Substring(0, str.Length - suffix.Length);
}

enum colors {
red,
blue,
green,
white
}

关于c# - 如何从字符串中删除枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62261556/

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