Hướng dẫn how do i get the string after a specific character in php? - làm cách nào để lấy chuỗi sau một ký tự cụ thể trong php?

Tôi đã có một chuỗi và tôi muốn có được mọi thứ sau một giá trị nhất định. Chuỗi luôn bắt đầu với một tập hợp các số và sau đó là một dấu gạch dưới. Tôi muốn lấy phần còn lại của chuỗi sau khi gạch dưới. Vì vậy, ví dụ nếu tôi có các chuỗi sau và những gì tôi muốn trả lại:

"123_String" -> "String"
"233718_This_is_a_string" -> "This_is_a_string"
"83_Another Example" -> "Another Example"

Làm thế nào tôi có thể đi làm một cái gì đó như thế này?

Hướng dẫn how do i get the string after a specific character in php? - làm cách nào để lấy chuỗi sau một ký tự cụ thể trong php?

hỏi ngày 10 tháng 7 năm 2012 lúc 1:35Jul 10, 2012 at 1:35

user1048676user1048676user1048676

9,51625 Huy hiệu vàng81 Huy hiệu bạc118 Huy hiệu đồng25 gold badges81 silver badges118 bronze badges

1

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
5 tìm thấy phần bù của dấu gạch dưới, sau đó cơ sở lấy mọi thứ từ chỉ mục đó cộng với 1, trở đi.

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;

Nếu bạn cũng muốn kiểm tra xem ký tự dấu gạch dưới (

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
6) có tồn tại trong chuỗi của bạn trước khi cố gắng lấy nó hay không, bạn có thể sử dụng như sau:

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}

Kenorb

Phù bằng vàng 146K7777 gold badges658 silver badges715 bronze badges

Đã trả lời ngày 10 tháng 7 năm 2012 lúc 1:38Jul 10, 2012 at 1:38

9

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
7 là một chức năng bị bỏ qua cho loại điều này. Nó có nghĩa là khá nhanh.

$s = '233718_This_is_a_string';
$firstPart = strtok( $s, '_' );
$allTheRest = strtok( '' ); 

Chuỗi trống như thế này sẽ buộc phần còn lại của chuỗi được trả về.

NB Nếu không có gì sau khi '_', bạn sẽ nhận được giá trị

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
8 cho
$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
9, như đã nêu trong tài liệu, phải được kiểm tra với ===, để phân biệt với các giá trị giả khác.

Đã trả lời ngày 24 tháng 11 năm 2017 lúc 8:11Nov 24, 2017 at 8:11

Mike gặm nhấm gặm nhấmmike rodent

Huy hiệu vàng 13K1193 Huy hiệu bạc135 Huy hiệu đồng11 gold badges93 silver badges135 bronze badges

3

Đây là phương pháp bằng cách sử dụng

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
0:

$text = explode('_', '233718_This_is_a_string', 2)[1]; // Returns This_is_a_string

or:

$text = end((explode('_', '233718_This_is_a_string', 2)));

Bằng cách chỉ định

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
1 cho tham số
if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
2 trong
if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
3, nó trả về mảng với 2 phần tử tối đa được phân tách bằng dấu phân cách chuỗi. Trả về phần tử thứ 2 (
if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
4), sẽ cung cấp phần còn lại của chuỗi.


Dưới đây là một liner khác bằng cách sử dụng

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
5 (như đề xuất của @FLU):

$needle = '233718_This_is_a_string';
$text = substr($needle, (strpos($needle, '_') ?: -1) + 1); // Returns This_is_a_string

Wadih M.

12.2k7 Huy hiệu vàng43 Huy hiệu bạc55 Huy hiệu Đồng7 gold badges43 silver badges55 bronze badges

Đã trả lời ngày 23 tháng 7 năm 2017 lúc 14:56Jul 23, 2017 at 14:56

Kenorbkenorbkenorb

Phù bằng vàng 146K7777 gold badges658 silver badges715 bronze badges

1

Đã trả lời ngày 10 tháng 7 năm 2012 lúc 1:38

$string = 'filename.jpg';
$extension = strrchr( $string, '.'); //returns "jpg"

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
7 là một chức năng bị bỏ qua cho loại điều này. Nó có nghĩa là khá nhanh.Jul 23, 2020 at 13:03

Chuỗi trống như thế này sẽ buộc phần còn lại của chuỗi được trả về.Pinonirvana

NB Nếu không có gì sau khi '_', bạn sẽ nhận được giá trị

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
8 cho
$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
9, như đã nêu trong tài liệu, phải được kiểm tra với ===, để phân biệt với các giá trị giả khác.1 gold badge8 silver badges10 bronze badges

1

Đã trả lời ngày 24 tháng 11 năm 2017 lúc 8:11

$str = '233718_This_is_a_string';

echo ltrim(strstr($str, '_'), '_'); // This_is_a_string

Mike gặm nhấm gặm nhấm

echo ltrim($str, '0..9_'); // This_is_a_string

Huy hiệu vàng 13K1193 Huy hiệu bạc135 Huy hiệu đồng

Đây là phương pháp bằng cách sử dụng

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
0:Dec 8, 2018 at 0:44

Bằng cách chỉ định

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
1 cho tham số
if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
2 trong
if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
3, nó trả về mảng với 2 phần tử tối đa được phân tách bằng dấu phân cách chuỗi. Trả về phần tử thứ 2 (
if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
4), sẽ cung cấp phần còn lại của chuỗi.nggit

Dưới đây là một liner khác bằng cách sử dụng

if (($pos = strpos($data, "_")) !== FALSE) { 
    $whatIWant = substr($data, $pos+1); 
}
5 (như đề xuất của @FLU):7 silver badges8 bronze badges

Wadih M.

Query:

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
0

Output:

12.2k7 Huy hiệu vàng43 Huy hiệu bạc55 Huy hiệu Đồng

Hướng dẫn how do i get the string after a specific character in php? - làm cách nào để lấy chuỗi sau một ký tự cụ thể trong php?

Đã trả lời ngày 23 tháng 7 năm 2017 lúc 14:56Feb 27, 2018 at 9:54

KenorbkenorbAdy

Tôi sử dụng strrchr (). Chẳng hạn để tìm phần mở rộng của tệp tôi sử dụng chức năng này:1 silver badge2 bronze badges

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
1

Đã trả lời ngày 23 tháng 7 năm 2020 lúc 13:03

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
2

PinonirvanapinonirvanaOct 19, 2019 at 21:25

Hướng dẫn how do i get the string after a specific character in php? - làm cách nào để lấy chuỗi sau một ký tự cụ thể trong php?

8201 Huy hiệu vàng8 Huy hiệu bạc10 Huy hiệu đồng

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
3

Một cách đơn giản khác, sử dụng strchr () hoặc strstr ():Oct 4, 2021 at 2:54

Trong trường hợp của bạn, có thể một mình ltrim () sẽ đủ:arafatgazi

Nhưng chỉ khi phần phù hợp của chuỗi (sau _) không bắt đầu với các số, nếu không nó cũng sẽ được cắt.1 silver badge5 bronze badges

Đã trả lời ngày 8 tháng 12 năm 2018 lúc 0:44

$data = "123_String";    
$whatIWant = substr($data, strpos($data, "_") + 1);    
echo $whatIWant;
4

NggitnggitDec 24, 2021 at 11:20

Hướng dẫn how do i get the string after a specific character in php? - làm cách nào để lấy chuỗi sau một ký tự cụ thể trong php?

5717 Huy hiệu bạc8 Huy hiệu ĐồngGerard de Visser

Nếu bất cứ ai cần trích xuất phần đầu tiên của chuỗi thì có thể thử,9 gold badges48 silver badges57 bronze badges

Làm thế nào chia một chuỗi sau một ký tự cụ thể trong PHP?

Explode () là một hàm tích hợp trong PHP được sử dụng để phân chia một chuỗi trong các chuỗi khác nhau. Hàm nổ () chia một chuỗi dựa trên dấu phân cách chuỗi, tức là nó phân tách chuỗi bất cứ nơi nào ký tự phân cách xảy ra. Các chức năng này trả về một mảng chứa các chuỗi được hình thành bằng cách chia chuỗi ban đầu. is a built in function in PHP used to split a string in different strings. The explode() function splits a string based on a string delimiter, i.e. it splits the string wherever the delimiter character occurs. This functions returns an array containing the strings formed by splitting the original string.

Làm thế nào tôi có thể chụp một phần của chuỗi trong PHP?

Trả lời: Sử dụng hàm phụ () Chức năng Php Subr () Chức năng có thể được sử dụng để lấy phần phụ, tức là một phần của chuỗi từ chuỗi.Hàm này lấy các tham số bắt đầu và độ dài để trả về phần của chuỗi.Use the PHP substr() function The PHP substr() function can be used to get the substring i.e. the part of a string from a string. This function takes the start and length parameters to return the portion of string.

Làm thế nào tôi có thể truy cập các ký tự riêng lẻ trong một chuỗi trong PHP?

Mỗi ký tự trong một chuỗi được lưu trữ ở một vị trí duy nhất được biểu thị bằng một giá trị chỉ mục duy nhất.Cách tiếp cận 1: Sử dụng phương thức str_split () - Phương thức str_split () được sử dụng để phân chia biến chuỗi được chỉ định thành một mảng các giá trị, mỗi trong đó được ánh xạ tới giá trị chỉ mục bắt đầu bằng 0.Using str_split() method – The str_split() method is used to split the specified string variable into an array of values, each of which is mapped to an index value beginning with 0.

Chức năng PHP nào tìm kiếm một văn bản cụ thể trong một chuỗi?

Hàm strpos () tìm thấy vị trí của lần xuất hiện đầu tiên của một chuỗi bên trong chuỗi khác.Lưu ý: Hàm strpos () nhạy cảm trường hợp.strpos() function finds the position of the first occurrence of a string inside another string. Note: The strpos() function is case-sensitive.