【问题标题】:Remove empty line after Replace in Visual Studio在 Visual Studio 中替换后删除空行
【发布时间】:2022-01-22 19:46:26
【问题描述】:

我有很多类,这些类具有属性[WordColumn("Xxx", 1, typeof(string))]。例如:

[JsonObject("Сотрудник")]
public class Person
{
    [JsonProperty("firstName")]
    [WordColumn("Имя", 1, typeof(string))]
    public string FirstName { get; set; }
    
    [JsonProperty("lastName")]
    [WordColumn("Фамилия", 1)]
    public string LastName { get; set; }
    
    // ... other properties are omitted for the brevity
}

我想要的是一个正则表达式,它可以删除所有以[WordColumn开头并以)]结尾的文本,并删除删除后可以留下的空行。

我尝试编写以下正则表达式并找到所有WordColumn

\[WordColumn.*?\]   

但是,当我在 Visual Studio 中使用查找和替换,然后在文件中替换,勾选使用正则表达式,我离开替换为空。然后在 Replaces 之后留下空白空间:

[JsonObject("Сотрудник")]
public class Person
{
    [JsonProperty("firstName")]
                               // <- here the empty line remains
    public string FirstName { get; set; }
    
    [JsonProperty("lastName")]
                              // <- here the empty line remains
    public string LastName { get; set; }
}   

我在 Visual Studio 2019 中使用 Replace 按钮执行此操作。

[WordColumn...] 被替换后是否可以删除这些空行?

【问题讨论】:

  • 试试\[WordColumn.*?\]\r?\n?
  • @AndersonPimentel 感谢您的回答!我应该将替换文本框留空吗?
  • 是的,你应该把它留空。

标签: c# visual-studio visual-studio-2019


【解决方案1】:

使用@AndersonPimentel 评论中的正则表达式,但稍作改动(添加^[\t ]* 以删除空格)

^[\t ]*\[WordColumn.*?\]\r?\n

【讨论】:

  • 感谢您的回答!我应该将替换留空吗?
  • 谢谢!有用!但是你能说一下,它是如何删除空格的吗?:)
  • ^ 匹配字符串的开头。 \t 匹配 TAB 字符。 ` ` 匹配空格字符。 *匹配0个或多个前面的token
【解决方案2】:

适用于 Windows 和 Mac 的 Visual Studio 的正确正则表达式应该是

\[WordColumn.*?\]\s*

【讨论】:

  • 感谢您的回答!我应该将替换留空吗?
  • 是的,留空
猜你喜欢
  • 1970-01-01
  • 2023-04-03
  • 2012-04-09
  • 2012-09-09
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
  • 2019-01-04
相关资源
最近更新 更多