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
属性没有更改。