C++ 20 ile Gelen Metin İşleme Özellikleri

C++ 20 ile gelen metin işleme özellikleri, metin verilerini okuma, yazma, dönüştürme, biçimlendirme, karşılaştırma, arama, değiştirme ve doğrulama gibi işlemleri kolaylaştıran birçok yeni özellik ve iyileştirme içerir. C++ 20 ile gelen metin işleme özellikleri, aşağıdakileri içerir:

std::format (std::format): std::format, C++ 20 ile gelen bir özellik olup, bir metin dizisini belirli bir biçime göre oluşturmayı sağlayan bir işlevdir. std::format, <format> başlık dosyası altında tanımlanmıştır ve std::format adında bir işlev içerir. std::format, metin dizisindeki yer tutucuları, argüman listesindeki değerlerle değiştirir. std::format, metin dizisini biçimlendirmek için Python’daki str.format işlevine benzer bir sözdizimi kullanır. Örneğin, aşağıdaki kodda, std::format kullanılarak bir metin dizisi oluşturulmuştur:

				
					#include <iostream>
#include <format>

int main() {
    std::string name = "Ali";
    int age = 20;
    double height = 1.75;
    std::string s = std::format("Merhaba, benim adım {}, {} yaşındayım ve {} metre boyundayım.", name, age, height);
    std::cout << s << "\n"; // Merhaba, benim adım Ali, 20 yaşındayım ve 1.75 metre boyundayım.
}

				
			

std::u8string (std::u8string): std::u8string, C++ 20 ile gelen bir özellik olup, UTF-8 kodlanmış metin verilerini depolamak için kullanılan bir sınıftır. std::u8string, <string> başlık dosyası altında tanımlanmıştır ve std::basic_string<char8_t> adında bir takma addır. std::u8string, u8 ön eki ile tanımlanan UTF-8 kodlanmış karakter dizilerini saklayabilir. std::u8string, metin verilerini uluslararasılaştırmak ve yerelleştirmek için yararlıdır. Örneğin, aşağıdaki kodda, std::u8string kullanılarak bir metin verisi depolanmıştır:

				
					#include <iostream>
#include <string>

int main() {
    std::u8string s = u8"Merhaba Dünya!"; // UTF-8 kodlanmış karakter dizisi
    std::cout << s.size() << "\n"; // 14
    std::cout << s.length() << "\n"; // 14
    std::cout << s << "\n"; // Merhaba Dünya!
}

				
			

std::char8_t (std::char8_t): std::char8_t, C++ 20 ile gelen bir özellik olup, UTF-8 kodlanmış karakterleri temsil etmek için kullanılan bir türdür. std::char8_t, <cstddef> başlık dosyası altında tanımlanmıştır ve unsigned char türü ile uyumludur. std::char8_t, u8 ön eki ile tanımlanan UTF-8 kodlanmış karakterleri saklayabilir. std::char8_t, metin verilerini uluslararasılaştırmak ve yerelleştirmek için yararlıdır. Örneğin, aşağıdaki kodda, std::char8_t kullanılarak bir karakter saklanmıştır:

				
					#include <iostream>
#include <cstddef>

int main() {
    std::char8_t c = u8'A'; // UTF-8 kodlanmış karakter
    std::cout << sizeof(c) << "\n"; // 1
    std::cout << static_cast<unsigned char>(c) << "\n"; // 65
}

				
			

std::u8string_view (std::u8string_view): std::u8string_view, C++ 20 ile gelen bir özellik olup, UTF-8 kodlanmış metin verilerine güvenli ve verimli bir şekilde erişim sağlayan bir görünüm türüdür. std::u8string_view, <string_view> başlık dosyası altında tanımlanmıştır ve std::basic_string_view<char8_t> adında bir takma addır. std::u8string_view, u8 ön eki ile tanımlanan UTF-8 kodlanmış karakter dizilerine referans sağlar. std::u8string_view, metin verilerini kopyalamadan işlemek için yararlıdır. Örneğin, aşağıdaki kodda, std::u8string_view kullanılarak bir metin verisine erişilmiştir:

				
					#include <iostream>
#include <string_view>

int main() {
    std::u8string_view sv = u8"Merhaba Dünya!"; // UTF-8 kodlanmış karakter dizisine referans
    std::cout << sv.size() << "\n"; // 14
    std::cout << sv.length() << "\n"; // 14
    std::cout << sv << "\n"; // Merhaba Dünya!
}

				
			

std::regex (std::regex): std::regex, C++ 20 ile gelen bir özellik olup, düzenli ifadeleri destekleyen bir kütüphanedir. std::regex, <regex> başlık dosyası altında tanımlanmıştır ve std::regex, std::regex_match, std::regex_search, std::regex_replace gibi sınıflar ve işlevler içerir. std::regex, metin verilerini arama, değiştirme, doğrulama gibi işlemler için yararlıdır. Örneğin, aşağıdaki kodda, std::regex kullanılarak bir metin verisinde bir düzenli ifade aranmıştır:

				
					#include <iostream>
#include <regex>
#include <string>

int main() {
    std::string s = "Merhaba Dünya!";
    std::regex r("[A-Z]"); // büyük harf içeren bir düzenli ifade
    std::smatch m; // eşleşen alt dizileri tutan bir nesne
    if (std::regex_search(s, m, r)) { // metin verisinde düzenli ifade arama
        std::cout << "Eşleşen alt dizi: " << m.str() << "\n"; // M
        std::cout << "Eşleşen alt dizinin konumu: " << m.position() << "\n"; // 0
    }
}

				
			
				
					std::regex pattern(“([A-Za-z]+)\s([0-9]+)”);
std::string text = “Hello 123”;

std::smatch matches;
if (std::regex_match(text, matches, pattern)) {
    std::cout << “Match found!” << std::endl;
}
				
			

Bu makalede, C++ 20 ile gelen metin işleme özelliklerini örnek kodlar ile açıkladık. std::format, std::u8string, std::char8_t, std::u8string_view, std::regex gibi özellikler, metin verilerini okuma, yazma, dönüştürme, biçimlendirme, karşılaştırma, arama, değiştirme ve doğrulama gibi işlemleri kolaylaştırır. Metin işleme özellikleri ile ilgili daha fazla bilgi için, aşağıdaki kaynaklara göz atabilirsiniz:

Yorum Bırakın

E-posta adresiniz yayınlanmayacaktır. Zorunlu alanlar * ile işaretlenmiştir