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,我正在开发一个功能,允许用户更改他们的电子邮件地址,如果他们不小心在之前或之后添加了空格,我需要对其进行修剪,以便正则表达式不会抱怨。它似乎不工作的地方,我有它(字符串仍然完全相同),但我不知道为什么。 这在我的控制器中: public ActionResult ChangeEmail(ChangeEmailVM vm) { try { if (UserManager.EmailAvail(new E

我正在开发一个功能,允许用户更改他们的电子邮件地址,如果他们不小心在之前或之后添加了空格,我需要对其进行修剪,以便正则表达式不会抱怨。它似乎不工作的地方,我有它(字符串仍然完全相同),但我不知道为什么。 这在我的控制器中:

public ActionResult ChangeEmail(ChangeEmailVM vm)
        {
            try
            {
                if (UserManager.EmailAvail(new EmailRequest
                {
                    Email = vm.EmailAddress.Trim()
                }))
                else//...etc etc
我想我可能需要将.trim()放在电子邮件地址的getter或setter中,但我不确定语法是否正确。

请记住,它是只读的-您不能通过调用它来更改值,相反,这些方法返回带有所需更改的新值,包括
.trim
;如果要更改
viewModel.EmailAddress
,应将
Trim()
的结果分配给同一变量:

编辑:在某种程度上,我希望看到一个
=
操作符,因为这种“变异和保存”经常出现

viewModel.EmailAddress = viewModel.EmailAddress.Trim()

请详细说明“工作不正常”。你期望它做什么,它在做什么?你期望它做什么而不是什么?Trim只会删除尾随或前导空格。如果要删除所有空白,请使用replace。这可能有助于修剪字符串,而不会使字符串发生变异。它返回一个已修剪的新字符串。您只将修剪后的字符串传递到了
EmailAvailForReg
UpdateEmail
不会修剪字符串,因为
viewModel
上的
EmailAddress
属性没有更改。