C#相当于Obj-C的NSCharacterSet?需要帮助转换iOS代码

时间:2012-03-08 22:54:59

标签: c# .net

以下是我在Objective-C for iOS中的代码,我需要帮助转换为C#:

NSString kLegal = @"0123456789(['!";
NSString character = @"(";
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:kLegal] invertedSet];
NSString *filtered = [[character componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

我熟悉C#和.NET,但实际上并不知道从哪里开始。谢谢!

1 个答案:

答案 0 :(得分:1)

我不熟悉Objective-C或iOS,但是从谷歌搜索它似乎NSCharacterSet用于过滤字符 - 指定你想要的字符或你不想要的字符。

您可以通过多种方式在C#中实现。这是一个:

string filter="0123456789(['!";
string text="My phone number is (121)5551234!";

如果您只想查看过滤器中的字符,请执行以下操作:

string filtered = new string(text.Where(c=>filter.IndexOf(c)>=0).ToArray());

如果您只想查看过滤器中没有的字符,可以执行以下操作:

string filtered = new string(text.Where(c=>filter.IndexOf(c)<0).ToArray());

两者都不是最有效的方法。如果您想要效率,请使用正则表达式。