* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
4.4 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
42 | Dizelerde değiştirilmesi için |
Dizelerde arama ve değiştirme işlevleri
replaceOne(Samanlık, desen, değiştirme)
Varsa, ilk oluş replacesumun yerini ‘pattern’ substring içinde ‘haystack’ ile... ‘replacement’ dize. Ahiret, ‘pattern’ ve ‘replacement’ sabitleri olması gerekir.
replaceAll (Samanlık, desen, değiştirme), değiştirin (Samanlık, desen, değiştirme)
Tüm oluşumları değiştirir ‘pattern’ substring içinde ‘haystack’ ile... ‘replacement’ dize.
replaceRegexpOne(Samanlık, desen, değiştirme)
Kullanarak değiştirme ‘pattern’ düzenli ifade. Re2 düzenli ifade.
Varsa, yalnızca ilk oluşumu değiştirir.
Bir desen olarak belirtilebilir ‘replacement’. Bu desen değiştirmeleri içerebilir \0-\9
.
İkame \0
tüm düzenli ifadeyi içerir. İkameler \1-\9
alt desene karşılık gelir numbers.To use the \
bir şablondaki karakter, kullanarak kaçış \
.
Ayrıca, bir dize literalinin ekstra bir kaçış gerektirdiğini unutmayın.
Örnek 1. Tarihi Amerikan format convertingına dönüştürme:
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
Örnek 2. Bir dize on kez kopyalama:
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! │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
replaceRegexpAll(Samanlık, desen, değiştirme)
Bu aynı şeyi yapar, ancak tüm oluşumların yerini alır. Örnek:
SELECT replaceRegexpAll('Hello, World!', '.', '\\0\\0') AS res
┌─res────────────────────────┐
│ HHeelllloo,, WWoorrlldd!! │
└────────────────────────────┘
Normal bir ifade boş bir alt dize üzerinde çalıştıysa, bir istisna olarak, değiştirme birden çok kez yapılmaz. Örnek:
SELECT replaceRegexpAll('Hello, World!', '^', 'here: ') AS res
┌─res─────────────────┐
│ here: Hello, World! │
└─────────────────────┘
regexpQuoteMeta (s)
İşlev, dizedeki bazı önceden tanımlanmış karakterlerden önce bir ters eğik çizgi ekler. Önceden tanımlanmış karakterler: ‘0’, ‘\’, ‘|’, ‘(’, ‘)’, ‘^’, ‘$’, ‘.’, ‘[’, ']', ‘?’, '*‘,’+‘,’{‘,’:‘,’-'. Bu uygulama biraz re2::RE2::QuoteMeta farklıdır. Sıfır bayttan 00 yerine \0 olarak çıkar ve yalnızca gerekli karakterlerden kaçar. Daha fazla bilgi için bağlantıya bakın: RE2