Làm thế nào tôi có thể kiểm tra xem một chuỗi chỉ chứa khoảng trắng?only contains spaces?
hỏi ngày 28 tháng 2 năm 2010 lúc 21:34Feb 28, 2010 at 21:34
Tarnfeldtarnfeldtarnfeld
25.4K41 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồng41 gold badges110 silver badges145 bronze badges
4
if [strlen[trim[$str]] == 0]
Hoặc nếu bạn không muốn bao gồm các chuỗi trống,
if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
Đã trả lời ngày 28 tháng 2 năm 2010 lúc 21:38Feb 28, 2010 at 21:38
John Knoellerjohn KnoellerJohn Knoeller
33K4 Huy hiệu vàng58 Huy hiệu bạc92 Huy hiệu Đồng4 gold badges58 silver badges92 bronze badges
7
Từ: //stackoverflow.com/a/2992388/160173
Nếu bạn muốn nâng cấp, hãy làm điều đó trên câu trả lời khác, chứ không phải câu này!
Đây sẽ là cách nhanh nhất:
$str = ' ';
if [ctype_space[$str]] {
}
Trả về
if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
3 trên chuỗi trống vì trống không phải là không gian trắng. Nếu bạn cần bao gồm một chuỗi trống, bạn có thể thêm if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
4, điều này vẫn sẽ dẫn đến thực hiện nhanh hơn Regex hoặc Trim.ctype_space
như một chức năng:
function stringIsNullOrWhitespace[$text]{
return ctype_space[$text] || $text === "" || $text === null;
}
echo preg_match['/^ *$/', $string]
Nên làm việc.
Đã trả lời ngày 28 tháng 2 năm 2010 lúc 21:40Feb 28, 2010 at 21:40
Enrico Carlessoenrico CarlessoEnrico Carlesso
6.7404 Huy hiệu vàng33 Huy hiệu bạc41 Huy hiệu đồng4 gold badges33 silver badges41 bronze badges
3
Sử dụng một biểu thức thông thường:
$result = preg_match['/^ *$/', $text];
Nếu bạn muốn kiểm tra bất kỳ khoảng trắng nào, không chỉ không gian:
$result = preg_match['/^\s*$/', $text];
Đã trả lời ngày 28 tháng 2 năm 2010 lúc 21:40Feb 28, 2010 at 21:40
Enrico Carlessoenrico CarlessoMark Byers
6.7404 Huy hiệu vàng33 Huy hiệu bạc41 Huy hiệu đồng188 gold badges1553 silver badges1440 bronze badges
0
Sử dụng một biểu thức thông thường:
Đã trả lời ngày 28 tháng 2 năm 2010 lúc 21:38Feb 28, 2010 at 21:38
1
John Knoellerjohn Knoeller
preg_match['`^\s*$`', $str]
33K4 Huy hiệu vàng58 Huy hiệu bạc92 Huy hiệu ĐồngFeb 28, 2010 at 21:42
Từ: //stackoverflow.com/a/2992388/160173mpen
Nếu bạn muốn nâng cấp, hãy làm điều đó trên câu trả lời khác, chứ không phải câu này!261 gold badges820 silver badges1199 bronze badges
Đây sẽ là cách nhanh nhất:
preg_match["/^[[:blank:]]+$/",$str,$match];
Trả về
if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
3 trên chuỗi trống vì trống không phải là không gian trắng. Nếu bạn cần bao gồm một chuỗi trống, bạn có thể thêm if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
4, điều này vẫn sẽ dẫn đến thực hiện nhanh hơn Regex hoặc Trim.Mar 1, 2010 at 1:05
ghostdog74ghostdog74ghostdog74
như một chức năng:56 gold badges254 silver badges341 bronze badges
chop[$str] === ''
Nên làm việc.
Đã trả lời ngày 28 tháng 2 năm 2010 lúc 21:40Apr 7, 2014 at 10:01
Enrico Carlessoenrico CarlessoEmanuil Rusev
6.7404 Huy hiệu vàng33 Huy hiệu bạc41 Huy hiệu đồng54 gold badges134 silver badges199 bronze badges
Sử dụng một biểu thức thông thường:
if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
0Nếu bạn muốn kiểm tra bất kỳ khoảng trắng nào, không chỉ không gian:Jun 25, 2014 at 6:03
Mark Byersmark ByersAzam Alvi
786K188 Huy hiệu vàng1553 Huy hiệu bạc1440 Huy hiệu đồng8 gold badges60 silver badges86 bronze badges
kiểm tra xem kết quả của trim [] dài hơn 0
if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
1Tôi nghĩ rằng việc sử dụng regexes là quá mức cần thiết, nhưng dù sao đây cũng là một sol'n khác:Aug 22, 2013 at 22:22
Đã trả lời ngày 28 tháng 2 năm 2010 lúc 21:42Felipe Buccioni
mpenmpen2 gold badges27 silver badges25 bronze badges
0
263K261 Huy hiệu vàng820 Huy hiệu bạc1199 Huy hiệu đồng
if [strlen[$str] > 0 && strlen[trim[$str]] == 0]
2cách khác
Đã trả lời ngày 1 tháng 3 năm 2010 lúc 1:05Jan 7, 2019 at 20:57
1