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

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.

Chủ Đề