2012-01-17 128 views
-1

我是刚刚入门的C#初学者程序员。我有一个任务,程序需要读取一个字符串并执行一些字符串操作。用户界面提供了一个TextBox和以下所有选项作为CheckBox es。用户可以选择任何或全部。初学者逻辑开发

  1. 删除任何空格。
  2. 删除任何特殊字符,如','等。
  3. 删除任何数字。
  4. 转换为camelCase。

可以有更多的选项作为字符串清理的一部分。我有一个方法中的字符串处理,它有一个裂缝,如果...其他ifs ...

我相信有一种方法。

感谢任何帮助。

感谢所有的解决方案,但我认为我的观点并没有被正确地对待。 字符串处理将根据复选框的值以特定的顺序完成。 用户可能只选择提供的一个或每个选项。如果有多个选择,它应该像

if(RemoveSpaces.checked) 
{ 
    RemoveSpaces(string inputString); 
    // After removing spaces do the other operations 
} 
else if (RemoveSpecialChars.checked) 
{ 
    RemoveSpecialChars(string inputString); 
    // Do other processing 
} 
+3

你的问题是? – 2012-01-17 11:04:19

+0

你需要什么帮助 - 更好的编码结构?目前你有什么(向我们展示代码)? – 2012-01-17 11:05:01

+0

您可以在复选框事件上执行您的代码。所以当他们被检查时,它会执行代码而不是其他所有事情。 – 2012-01-17 11:05:03

回答

2

你可以在里面做一些类和4个函数。例如:

public static class StringOperations 
{ 
    public static string RemoveSpaces(string sourceString) 
    { 
     string convertedString = ""; 
     //some operations 
     return convertedString; 
    } 

    public static string RemoveCharacters(string sourceString, params char[] charactersToRemove) 
    { 
     string convertedString = ""; 
     //some operations 
     return convertedString; 
    } 

    public static string RemoveAnyNumbers(string sourceString) 
    { 
     string convertedString = ""; 
     //some operations 
     return convertedString; 
    } 

    public static string ConvertToCamelCase(string sourceString) 
    { 
     string convertedString = ""; 
     //some operations 
     return convertedString; 
    } 
} 

在UI你只需要调用的功能之一...

3

为便于字符串处理,使用与string.replace

String.replace

此代码示例也可能帮助:

string start = "a b 3 4 5.7"; 
string noSpace = start.Replace(" ", ""); 
string noDot = noSpace.Replace(".", ""); 
string noNumbers = Regex.Replace(noDot, "[0-9]", ""); 

Console.WriteLine(start); 
Console.WriteLine(noSpace); 
Console.WriteLine(noDot); 
Console.WriteLine(noNumbers); 

输出将是一个s follow

"a b 3 4 5.7" // start 
"ab345.7" // noSpace 
"ab3457" // noDot 
"ab" // noNumbers