Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在正则表达式匹配后将变量更改回原始值_C#_Regex - Fatal编程技术网

C# 在正则表达式匹配后将变量更改回原始值

C# 在正则表达式匹配后将变量更改回原始值,c#,regex,C#,Regex,我刚刚“完成”了我的回文测试器的扩展,它是用C#制作的。为了允许短语,我为所有非字母数字字符添加了一个简单的正则表达式匹配。在程序的末尾,它声明“是(不是)回文”,但现在使用正则表达式,它打印的是它的无空格/标点版本 我想能够打印原始用户输入。我该怎么做 这是我的节目: 调用ToLower()本身不会做任何事情。字符串是不可变的,这意味着不可能修改字符串的实例。ToLower()函数返回一个新字符串,因此必须将该值存储在变量中(相同或新的) 要返回传递给函数的值,只需创建一个新的字符串变量 像这

我刚刚“完成”了我的回文测试器的扩展,它是用C#制作的。为了允许短语,我为所有非字母数字字符添加了一个简单的正则表达式匹配。在程序的末尾,它声明“是(不是)回文”,但现在使用正则表达式,它打印的是它的无空格/标点版本

我想能够打印原始用户输入。我该怎么做

这是我的节目:

  • 调用
    ToLower()
    本身不会做任何事情。字符串是不可变的,这意味着不可能修改字符串的实例。
    ToLower()
    函数返回一个新字符串,因此必须将该值存储在变量中(相同或新的)
  • 要返回传递给函数的值,只需创建一个新的字符串变量
  • 像这样:

    public static string Tester(string input)
    {
        string pattern = "\\W";
    
        string data = Regex.Replace(input.ToLower(), pattern, String.Empty);
    
        if (data == StringHelper.ReverseString(data))
        {
            Console.Write(input); Console.Write(" is a Palindrome.");
        }
        else
        {
            Console.Write(input); Console.Write(" isn't a Palindrome.");
        }
    
        return input;
    }