* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
5.0 KiB
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