Tôi muốn xóa mọi thứ (kể cả dấu phẩy) khỏi dấu phẩy đầu tiên của chuỗi trong php ví dụ:xóa mọi thứ sau dấu phẩy đầu tiên khỏi chuỗi trong php
$print="50 days,7 hours";
nên trở thành "50 ngày"
Tôi muốn xóa mọi thứ (kể cả dấu phẩy) khỏi dấu phẩy đầu tiên của chuỗi trong php ví dụ:xóa mọi thứ sau dấu phẩy đầu tiên khỏi chuỗi trong php
$print="50 days,7 hours";
nên trở thành "50 ngày"
Dưới đây là một cách:
$print=preg_replace('/^([^,]*).*$/', '$1', $print);
Một
list($firstpart)=explode(',', $print);
này nên làm việc cho bạn:
$r = (strstr($print, ',') ? substr($print, 0, strpos($print, ',')) : $print);
# $r contains everything before the comma, and the entire string if no comma is present
làm việc này f hoặc ví dụ đã cho, nhưng sẽ thất bại nếu chuỗi không chứa dấu phẩy. –
Ah, đúng vậy! Sửa đổi mã để xử lý đó. – schmilblick
Bạn có thể sử dụng một biểu thức chính quy, nhưng nếu nó luôn luôn sẽ là một cặp đôi duy nhất với một dấu phẩy, tôi chỉ muốn làm điều này:
$printArray = explode(",", $print);
$print = $printArray[0];
Bạn không có nghĩa là $ printArray [0]? –
Có, tôi đã sửa nó. –
$string="50 days,7 hours";
$s = preg_split("/,/",$string);
print $s[0];
tôi không thể tưởng tượng tại sao điều này lại bị bỏ phiếu. để cử tri xuống, chăm sóc để giải thích? – ghostdog74
Có thể đó là vì bạn đã sử dụng preg_split(), điều này có quá mức cần thiết? –
tôi không nghĩ rằng nó quá mức cần thiết. nó giải quyết được vấn đề phải không. – ghostdog74
Bạn cũng có thể sử dụng current chức năng:
$firstpart = current(explode(',', $print)); // will return current item in array, by default first
chức năng cũng khác từ gia đình này:
$nextpart = next(explode(',', $print)); // will return next item in array
$lastpart = end(explode(',', $print)); // will return last item in array
Một regex có vẻ như một chút overkill cho thao tác chuỗi đơn giản? – schmilblick
Regex là một chút của một giải pháp canon-bóng cho vấn đề muỗi –
Tôi thích ví dụ thứ hai của bạn. Đó là một cách thông minh để có được xung quanh mà bạn không thể sử dụng phát nổ (',', $ in) [0]. Tôi đã sử dụng array_shift, nhưng tôi thích danh sách ý tưởng tốt hơn. –