-Заменить vs .Replace () в PowerShell? [Дубликат]

Так как код declarative_base и zzzeek не работает с sqlalchemy 0.4, я использовал следующий кеш, чтобы новые объекты также оставались уникальными, если они не присутствуют в классе db

  FileTypeCache (dict)  : def __missing __ (self, key): try: obj = self [key] = Session.query (FileType) .filter_by (typename = key) .one () return obj кроме InvalidRequestError: return obj = self [key] = FileType (  key) return obj  

переопределить eq из FileType

  class FileType (object): def __init __ (self, typename) self.typename = typename def __eq __ (  self): if isinstance (other, FileType): return self.typename == other.typename else: return False  
15
задан mr.buttons 17 April 2012 в 03:06
поделиться

2 ответа

Хотя ответ @Keith Hill объясняет разницу между методом Replace и оператором -replace, чтобы объяснить, почему вы не можете видеть тот же результат, это потому, что вы используете метод String.Replace, который заменяет строку и Оператор -replace использует замену regex. Вы можете использовать метод Regex.Replace для этой цели, и вы должны увидеть тот же эффект:

[regex]::replace($a,'.:\\LOGROOT\\', "\\$env:computername\logroot\")

Короче говоря, оператор -replace такой же, как Regex.Replace (конкретная перегрузка, связанная выше), но в целом Replace() может быть экземпляром или статическим методом, который может делать что-либо совершенно отличное от -replace

15
ответ дан manojlds 16 August 2018 в 01:45
поделиться

Это не одно и то же. .Replace - это .NET-метод либо на System.String, либо на любой другой тип с методом экземпляра с именем Replace. -replace - это оператор PowerShell, который использует регулярные выражения. Запустите man about_operators, чтобы получить дополнительную информацию об операторе -replace.

12
ответ дан Keith Hill 16 August 2018 в 01:45
поделиться
Другие вопросы по тегам:

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