Chuỗi

Khái niệm

Chuỗi là dãy ký tự được dùng để biểu diễn văn bản. Hầu hết chương trình đều phải xử lý chuỗi ở mức nào đó, từ nhập tên người dùng đến phân tích dữ liệu và định dạng kết quả.

Ví dụ nối chuỗi

first_name = "Hoan"
last_name = "Chan"
full_name = first_name + " " + last_name
print(full_name)
program StringDemo;

var
	firstName, lastName, fullName: String;

begin
	firstName := 'Hoan';
	lastName := 'Chan';
	fullName := firstName + ' ' + lastName;
	Writeln(fullName);
end.
#include <stdio.h>
#include <string.h>

int main(void) {
		char fullName[20] = "Hoan";
		strcat(fullName, " ");
		strcat(fullName, "Chan");
		printf("%s\n", fullName);
		return 0;
}
#include <iostream>
#include <string>
using namespace std;

int main() {
    string firstName = "Hoan";
    string lastName = "Chan";
    string fullName = firstName + " " + lastName;
    cout << fullName << endl;
    return 0;
}
string firstName = "Hoan";
string lastName = "Chan";
string fullName = firstName + " " + lastName;
Console.WriteLine(fullName);
const firstName = "Hoan";
const lastName = "Chan";
const fullName = `${firstName} ${lastName}`;
console.log(fullName);
const firstName: string = "Hoan";
const lastName: string = "Chan";
const fullName: string = `${firstName} ${lastName}`;
console.log(fullName);
package main

import "fmt"

func main() {
    firstName := "Hoan"
    lastName := "Chan"
    fullName := firstName + " " + lastName
    fmt.Println(fullName)
}
fn main() {
    let first_name = "Hoan";
    let last_name = "Chan";
    let full_name = format!("{} {}", first_name, last_name);
    println!("{}", full_name);
}

Ghi chú theo ngôn ngữ

Thông tin</div>

Chuỗi trong Python là immutable, nghĩa là không thể sửa trực tiếp từng ký tự bên trong cùng một đối tượng chuỗi.

Trong Pascal, chỉ số chuỗi truyền thống thường bắt đầu từ 1. Cách truy cập này khác với phần lớn ngôn ngữ hiện đại bắt đầu từ 0.

C biểu diễn chuỗi bằng mảng ký tự kết thúc bởi ký tự \0. Khi nối hoặc sao chép chuỗi, cần đảm bảo bộ đệm đủ lớn.

C++ có std::string với nhiều phương thức tiện lợi. Chuỗi có thể nối bằng + hoặc dùng std::format (đế C++20) để định dạng.

C# có string immutable và StringBuilder cho nối chuỗi nhiều lần hiệu quả hơn. Interpolation $"...{var}" là cú pháp hiện đại được khuyến dùng.

Template literal (backtick) là cách ưa dùng để nối chuỗi trong JavaScript hiện đại. Chuỗi được lưu dưới dạng UTF-16.

TypeScript kế thừa xử lý chuỗi của JavaScript. Kiểu string giúp bắt lỗi khi gán sai kiểu dữ liệu.

Go lưu chuỗi dưới dạng byte UTF-8 immutable. Nối nhiều chuỗi hiệu quả nên dùng strings.Builder. fmt.Sprintf giống printf trong C.

Rust có hai loại chuỗi chính: &str (bản vá) và String (sở hữu, có thể thay đổi). format! là cách an toàn nhất để tạo chuỗi mới từ nhiều phần.

Bình luận