ClickHouse/docs/tr/sql-reference/functions/string-replace-functions.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

95 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
machine_translated: true
machine_translated_rev: e8cd92bba3269f47787db090899f7c242adf7818
toc_priority: 42
toc_title: "Dizelerde de\u011Fi\u015Ftirilmesi i\xE7in"
---
# Dizelerde Arama Ve değiştirme işlevleri {#functions-for-searching-and-replacing-in-strings}
## replaceOne(Samanlık, desen, değiştirme) {#replaceonehaystack-pattern-replacement}
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) {#replaceallhaystack-pattern-replacement-replacehaystack-pattern-replacement}
Tüm oluşumları değiştirir pattern substring içinde haystack ile… replacement dize.
## replaceRegexpOne(Samanlık, desen, değiştirme) {#replaceregexponehaystack-pattern-replacement}
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:
``` sql
SELECT DISTINCT
EventDate,
replaceRegexpOne(toString(EventDate), '(\\d{4})-(\\d{2})-(\\d{2})', '\\2/\\3/\\1') AS res
FROM test.hits
LIMIT 7
FORMAT TabSeparated
```
``` text
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:
``` sql
SELECT replaceRegexpOne('Hello, World!', '.*', '\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0') AS res
```
``` text
┌─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) {#replaceregexpallhaystack-pattern-replacement}
Bu aynı şeyi yapar, ancak tüm oluşumların yerini alır. Örnek:
``` sql
SELECT replaceRegexpAll('Hello, World!', '.', '\\0\\0') AS res
```
``` text
┌─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:
``` sql
SELECT replaceRegexpAll('Hello, World!', '^', 'here: ') AS res
```
``` text
┌─res─────────────────┐
│ here: Hello, World! │
└─────────────────────┘
```
## regexpQuoteMeta (s) {#regexpquotemetas}
İş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](https://github.com/google/re2/blob/master/re2/re2.cc#L473)
[Orijinal makale](https://clickhouse.tech/docs/en/query_language/functions/string_replace_functions/) <!--hide-->