ClickHouse/docs/fa/sql_reference/functions/string_replace_functions.md
2020-04-04 12:15:31 +03:00

5.0 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 42 برای جایگزینی در رشتهها

توابع برای جستجو و جایگزینی در رشته ها

جایگزینی جایگزین)

جایگزین وقوع اول, در صورت وجود, از pattern زیر رشته در haystack با replacement زیر رشته. از این پس, pattern و replacement حتما ثابته

replaceAll(haystack, الگوی جایگزینی) جایگزین(haystack, الگوی جایگزینی)

جایگزین تمام اتفاقات pattern زیر رشته در haystack با replacement زیر رشته.

جایگزین کردن الگوی جایگزین)

جایگزینی با استفاده از pattern عبارت منظم. دوباره2 عبارت منظم. جایگزین تنها وقوع اول, در صورت وجود. یک الگو را می توان به عنوان replacement. این الگو می تواند شامل تعویض \0-\9. جایگزینی \0 شامل کل عبارت منظم. درحال جایگزینی \1-\9 مربوط به زیرخط numbers.To استفاده از \ شخصیت در قالب, فرار با استفاده از \. همچنین در نظر داشته باشید که یک رشته تحت اللفظی نیاز به فرار اضافی نگه دارید.

مثال 1. تبدیل تاریخ به فرمت امریکایی:

SELECT DISTINCT
    EventDate,
    replaceRegexpOne(toString(EventDate), '(\\d{4})-(\\d{2})-(\\d{2})', '\\2/\\3/\\1') AS res
FROM test.hits
LIMIT 7
FORMAT TabSeparated
2014-03-17      03/17/2014
2014-03-18      03/18/2014
2014-03-19      03/19/2014
2014-03-20      03/20/2014
2014-03-21      03/21/2014
2014-03-22      03/22/2014
2014-03-23      03/23/2014

مثال 2. کپی کردن یک رشته ده بار:

SELECT replaceRegexpOne('Hello, World!', '.*', '\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0') AS res
┌─res────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World! │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

جایگزین کردن الگوی جایگزین)

این کار همان چیزی, اما جایگزین همه وقوع. مثال:

SELECT replaceRegexpAll('Hello, World!', '.', '\\0\\0') AS res
┌─res────────────────────────┐
│ HHeelllloo,,  WWoorrlldd!! │
└────────────────────────────┘

به عنوان یک استثنا, اگر یک عبارت منظم در زیر رشته خالی کار می کرد, جایگزینی بیش از یک بار ساخته شده است. مثال:

SELECT replaceRegexpAll('Hello, World!', '^', 'here: ') AS res
┌─res─────────────────┐
│ here: Hello, World! │
└─────────────────────┘

سرویس پرداخت درونبرنامهای پلی)

تابع می افزاید: یک بک اسلش قبل از برخی از شخصیت های از پیش تعریف شده در رشته. نویسههای از پیش تعریفشده: 0, \, |, (, ), ^, $, ., [, ']', ?, '*,+,{,:,-'. این اجرای کمی از دوباره متفاوت2::پاسخ2:: نقل قول. این فرار صفر بایت به عنوان \ 0 بجای 00 و فرار شخصیت تنها مورد نیاز. برای کسب اطلاعات بیشتر به لینک مراجعه کنید: RE2

مقاله اصلی