Поиск Vim и замена путем постепенного уменьшения обратной ссылки?

Это хорошая модель?

  • Одна пицца может обладать небольшим количеством вкуса
  • Одна пицца может иметь один соус под сыром
  • Один заказ может иметь немного idgredience и несколько соусов.

Это мои классы:

    public class Suace
{
    public int Id { get; set; }
    public string Name { get; set; }
    public double Price { get; set; }

    public virtual ICollection<Order> Orders { get; set; }
}

public class Pizza
{
    public int Id { get; set; }
    public string Name { get; set; }
    public double Price { get; set; }
    public ICollection<Idgredient> Idgredients { get; set; }
    public Sauce Sauce {get;set;}

    public virtual ICollection<Order> Orders { get; set; }
}

class Order
{
    public Order()
    {
        Cars = new List<Car>();
        Parts = new List<Part>();
    }

    public int OrderId { get; set; }

    public virtual ICollection<Car> Suace  { get; set; }
    public virtual ICollection<Part> Pizza { get; set; }
}

public class Idgredient
{
    public int Id { get; set; }
    public string Name { get; set; }


    public virtual ICollection<Pizza> Pizzas { get; set; }
}
10
задан Timothy Kim 18 May 2009 в 04:47
поделиться

2 ответа

Попробуйте

:%s/\[\(\d\+\)\]/\=join(['[', submatch(1) - 1, ']'], '')/g

РЕДАКТИРОВАТЬ: я добавил \ + после \ d на случай, если вы хотите сопоставить более чем однозначные числа.

См. : help sub-replace-special

16
ответ дан 3 December 2019 в 20:43
поделиться

Попробуйте следующее:

%s:\d:\r&\r:g

Затем

s/\d/\=submatch(0)-1/

А теперь вы необходимо соединить строки.

0
ответ дан 3 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: