Hướng dẫn dùng regex replaceall trong PHP

Cú pháp

Cú phápstr_replace($search, $replace, $subject);

Nội dung chính

  • Kết Quả trả về
  • 1. Tìm hiểu về Phương thức replace()
  • Cú pháp của phương thức replace()
  • 2. Ví dụ Phương thức replaceFirst() trong Java
  • Cú pháp của replaceFirst()
  • Ví dụ về cách sử dụng Phương thức replaceFirst()
  • 3. Ví dụ sử dụng Phương thức replaceAll() trong Java
  • Cú pháp của phương thức replaceAll()
  • 4. Sự khác nhau của phương thức replace() và phương thức replaceAll()
  • Tổng kết

Nội dung chính

  • Kết Quả trả về
  • 1. Tìm hiểu về Phương thức replace()
  • Cú pháp của phương thức replace()
  • 2. Ví dụ Phương thức replaceFirst() trong Java
  • Cú pháp của replaceFirst()
  • Ví dụ về cách sử dụng Phương thức replaceFirst()
  • 3. Ví dụ sử dụng Phương thức replaceAll() trong Java
  • Cú pháp của phương thức replaceAll()
  • 4. Sự khác nhau của phương thức replace() và phương thức replaceAll()
  • Tổng kết

Nội dung chính

  • Kết Quả trả về
  • 1. Tìm hiểu về Phương thức replace()
  • Cú pháp của phương thức replace()
  • 2. Ví dụ Phương thức replaceFirst() trong Java
  • Cú pháp của replaceFirst()
  • Ví dụ về cách sử dụng Phương thức replaceFirst()
  • 3. Ví dụ sử dụng Phương thức replaceAll() trong Java
  • Cú pháp của phương thức replaceAll()
  • 4. Sự khác nhau của phương thức replace() và phương thức replaceAll()
  • Tổng kết

Hướng dẫn dùng regex replaceall trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong đó:

  • $search là kí tự, chuỗi kí tự hoặc mảng các chuỗi ký tự cần tìm kiếm để thay thế.
  • $replace là kí tự, chuỗi kí tự hoặc mảng các chuỗi ký để thay thế cho kí tự, chuỗi kí tự hoặc mảng các chuỗi ký $sreach.
  • $subject là chuỗi ký tự hoặc mảng các chuỗi ký tự gốc cần được chỉnh sửa.

    Hàm str_replace() sẽ thay thế tất cả các ký tự $strSearch nằm trong $subject bằng ký tự $strReplace.

Mô tả

  • Nếu $search$replace là các mảng , str_replace() sẽ lấy từng phần tử của mảng để tìm kiếm và thay thế chúng trong chuỗi $subject.
  • Nếu $replace có ít phần tử hơn $search thì những chuỗi rỗng sẽ được sử dụng như là giá trị thay thế.
  • Nếu $search là 1 mảng và $replace là 1 chuỗi thì giá trị chuỗi $replace sẽ được thay thế cho mọi phần tử trong array $search.
  • Nếu $search$replace là các mảng các phần tử sẽ được xử lý từ đầu đến cuối.

Kết Quả trả về

Kết quả trả về của hàm str_replace() là một chuỗi hoặc 1 mảng với các ký tự đã được thay thế so với mảng ban đầu.

Bài viết này được đăng tại [free tuts .net]

Ví dụ

$search, $replace, $subject đều là chuỗi(string):

Code

$result	= str_replace('lap trinh', 'php', 'hoc lap trinh tai freetuts.net');
echo $result;

kết quả

hoc php tai freetuts.net

chuỗi 'lap trinh' đã được thay thế bằng chuỗi 'php'.

$search, $replace, $subject đều là mảng:

Code

$subject = ['toi', 'dang', 'hoc lap trinh', 'tai freetuts.net'];
$search = ['toi', 'dang', 'hoc lap trinh'];
$replace   = ['ban', 'co', 'hoc php'];
$result = str_replace($search, $replace, $subject);
echo "
";
   print_r($result);
echo "
";

Kết quả

Array
(
	[0] => ban
	[1] => co
	[2] => hoc php
	[3] => tai freetuts.net
)

các phần từ trong mảng $search lần lượt được tìm kiếm và thay thế bằng các phần tử trong mảng $replace.

$search là array, $replace là chuỗi:

Code

$subject = 'toi dang hoc, nghien cuu lap trinh tai freetuts.net';
$search = ['hoc', 'nghien cuu'];
$replace   = 'hoc tap';
$result = str_replace($search, $replace, $subject);
echo $result;

Kết quả

toi dang hoc tap, hoc tap lap trinh tai freetuts.net

tất cả các phân tử trong mảng $search đều được thay thế bằng chuỗi $replace.

$replace có ít phần tử hơn $search:

Code

$subject = 'toi dang hoc, nghien cuu lap trinh tai freetuts.net';
$search = ['hoc', 'nghien cuu', 'lap trinh'];
$replace   = ['learn', 'research'];
$result = str_replace($search, $replace, $subject);
echo $result;

Kết quả

toi dang learn, research  tai freetuts.net

bạn có thể thấy phần tử thứ 3 của mảng $search có giá trị 'lap trinh' đã bị thay thế bằng 1 khoảng trắng, 

Kết luận: qua các ví dụ trên hi vọng các bạn đã nắm được định nghĩa và cách xử dụng trong từng trường hợp của hàm str_replace().

Để thực hiện thao tác thay thế chuỗi trong Java thì chúng ta có 3 phương thức được Java cung cấp sẵn đó là:

  • replace()
  • replaceFirst()
  • replaceAll()

Thay thế chuỗi trong Java

1. Tìm hiểu về Phương thức replace()

Phương thức replace() này trả về một chuỗi mới không ảnh hưởng đến chuỗi cũ.

Ví dụ, Thay thế "Java" bằng "PHP" bên trong chuỗi s1 = "Học lập trình Java" thì chương trình tạo ra một chuỗi mới là "Học lập trình PHP".

Chuỗi s1 vẫn không đổi.

Cú pháp của phương thức replace()

Trong đó:

  • oldCh - là chuỗi cũ cần được thay thế khỏi chuỗi
  • newCh - là chuỗi mới cần cho vào để thay thế.
  • Giá trị trả về: Phương thức này trả về một chuỗi mới

Ví dụ chương trình:

Chúng ta nhận được kết quả là:

2. Ví dụ Phương thức replaceFirst() trong Java

Phương thức replaceFirst() sẽ tìm và thay thế chuỗi con đầu tiên trong chuỗi ban đầu bằng chuỗi truyền vào.

Cú pháp của replaceFirst()

Trong đó:

  • rgex là chuỗi cần thay thế ra
  • replacment là chuỗi cần phải thay vào
  • Giá trị trả về (Return Value): Phương thức replaceFirst() trả về chuỗi mới đã được thay thế

Ví dụ về cách sử dụng Phương thức replaceFirst()

Kết quả chúng ta nhận được:

3. Ví dụ sử dụng Phương thức replaceAll() trong Java

Như cái tên gọi, phương thức replaceAll() trả về một chuỗi bằng cách thay thế tất cả ký tự khớp với chuỗi truyền vào.

Cú pháp của phương thức replaceAll()

Trong đó:

  • regx: Chuỗi cần được thay thế ra
  • replacement: Đây là chuỗi cần được thay thế vào

Kết quả chúng ta nhận được là:

4. Sự khác nhau của phương thức replace() và phương thức replaceAll()

Nhìn qua thì bạn thấy 2 phương thức này có vẻ hoạt động giống nhau đúng không? Nhưng tại sao lại cần cả 2 phương thức này?

Điểm khác biệt nằm ở chỗ:

  • Phương thức replaceAll() nhận tham số vào như một chuỗi.
  • Còn phương thức replace() có thể nhận tham số truyền vào như là ký tự hoặc là chuỗi.

Tổng kết

Phương thức replace(), replaceFirst(), replaceAll() cũng khá đơn giản phải không nào?

Tùy vào từng tình huống chúng ta sẽ sử dụng các phương thức khác nhau.

> Tham gia ngay Khóa học Java Fullstack nếu bạn muốn học Java một cách bài bản nhất.