Ana içeriğe geç

AltDize

substring bir metnin bir bölümünü çıkarır. Bu işlev, tutarlı bir biçime sahip metni (veya dize veri türüne sahip herhangi bir değeri) temizlemek için kullanışlıdır.

Örneğin, substring SKU numaraları, ISO kodları ve standartlaştırılmış e-posta adresleri gibi dizelerde iyi çalışmalıdır.

SözdizimiÖrnek
substring(metin, konum, uzunluk)substring("[email protected]", 1, 7)
Bir başlangıç noktası (konum) ve bir uzunluk (karakter sayısı) verilen metnin bir bölümünü çıkarır."user_id"

Parametreler

  • Dizenizdeki ilk karakter 1. konumdadır.
  • Alt dizenizin uzunluğu her zaman pozitif bir sayı olmalıdır.

Soldan bir alt dize alma

Görev KimliğiAjan
19951113006006
20061114007007
19640917008008

Ajan, şu ifadeye sahip özel bir sütundur:

substring([Görev Kimliği], 9, 3)

Sağdan bir alt dize alma

Konum için bir sayı kullanmak yerine, şu formülü kullanacaksınız

1 + length([sütun]) - sağdan_konum

burada sağdan_konum, sağdan sola saymak istediğiniz karakter sayısıdır.

Görev KimliğiAjan
19951113006006
20061114007007
19640917008008

Burada, Ajan, şu ifadeye sahip özel bir sütundur:

substring([Görev Kimliği], (1 + length([Görev Kimliği]) - 3), 3)

Kabul edilen veri türleri

Veri türüsubstring ile çalışır
Dize
Sayı
Zaman damgası
Boolean
JSON

Sınırlamalar

substring, sabit sayıda karakter sayarak metin çıkarır. Daha karmaşık bir mantığa dayalı olarak metin çıkarmanız gerekiyorsa, regexextract öğesini deneyin.

Ve yalnızca metninizin etrafındaki fazladan boşluğu temizlemeniz gerekiyorsa, bunun yerine trim, ltrim veya rtrim ifadelerini kullanabilirsiniz.

İlgili işlevler

Bu bölüm, Patrona substring ifadesiyle aynı şekilde çalışan işlevleri ve formülleri kapsar ve kullanım durumunuz için en iyi seçeneğin nasıl seçileceğine ilişkin notlar içerir.

Patrona ifadeleri

Diğer araçlar

Regexextract

Daha belirli kurallara göre metin çıkarmanız gerekiyorsa regexextract öğesini kullanın. Örneğin, "00"ın son oluşumunu (ve ondan sonraki her şeyi) bulan bir regex deseniyle aracı kimliğini alabilirsiniz:

regexextract([Görev Kimliği], ".+(00.+)$")

aynı sonucu döndürmelidir

substring([Görev Kimliği], 9, 3)

SQL

not defteri düzenleyicisini kullanarak bir soru çalıştırdığınızda, Patrona grafiksel sorgu ayarlarınızı (filtreler, özetler vb.) bir sorguya dönüştürür ve sonuçlarınızı almak için bu sorguyu veritabanınıza karşı çalıştırır.

örnek verilerimiz bir PostgreSQL veritabanında saklanıyorsa:

SELECT
görev_kimliği,
SUBSTRING(görev_kimliği, 9, 3) AS ajan
FROM
bu_mesaj_kendini_yok_edecek;

Patrona substring ifadesine eşdeğerdir:

substring([Görev Kimliği], 9, 3)

E-tablolar

örnek verilerimiz, "Görev Kimliği"nin A sütununda olduğu bir e-tabloda bulunuyorsa,

=mid(A2,9,3)

Patrona substring ifadesiyle aynıdır:

substring([Görev Kimliği], 9, 3)

Python

örnek verilerin df adlı bir veri çerçevesi sütununda olduğunu varsayarsak,

df['Ajan'] = df['Görev Kimliği'].str.slice(8, 11)

Patrona substring ifadesiyle aynı şeyi yapar:

substring([Görev Kimliği], 9, 3)

Daha fazla okuma