gpt4 book ai didi

c# - 过滤字符串

转载 作者:可可西里 更新时间:2023-11-01 03:12:11 24 4
gpt4 key购买 nike

我想确保一个字符串只有这个范围内的字符

[a-z] && [A-Z] && [0-9] && [-]

所以所有字母和数字加上连字符。我试过这个...

C# 应用程序:

        char[] filteredChars = { ',', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '{', '}', '[', ']', ':', ';', '"', '\'', '?', '/', '.', '<', '>', '\\', '|' };
string s = str.TrimStart(filteredChars);

这个 TrimStart() 似乎只适用于字母而不适用于 $ % 等其他字符

我是不是执行错了?有更好的方法吗?

我只是想避免遍历每个字符串的索引检查,因为会有很多字符串要做...

想法?

谢谢!

最佳答案

这似乎是使用 regular expression 的完全正当理由.

bool stringIsValid = Regex.IsMatch(inputString, @"^[a-zA-Z0-9\-]*?$");

作为对 miguel 评论的回应,您可以这样做以删除所有不需要的字符:

string cleanString = Regex.Replace(inputString, @"[^a-zA-Z0-9\-]", "");

请注意,插入符号 (^) 现在被放置在字符类内部,从而否定它(匹配任何不允许的字符)。

关于c# - 过滤字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/907995/

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