Кто-нибудь захочет помочь мне с регулярным выражением, чтобы надежно распознать и удалить любое число, за которым следует точка, в начале строки? Так что
1. Introduction
становится
Introduction
а также
1290394958595. Appendix A
становится
Appendix A
Пытаться:
preg_replace('/^[0-9]+\. +/', '', $string);
Который дает:
php > print_r(preg_replace('/^[0-9]+\. +/', '', '1231241. dfg')); dfg
Я знаю, что вопрос закрыт, только мои два цента:
preg_replace("/^[0-9\\.\\s]+/", "", "1234. Appendix A");
Будет работать лучше всего, на мой взгляд, главным образом потому, что он также будет обрабатывать такие случаи, как
1.2 This is a level-two heading
Вуаля:
^[0-9]+\.
Хорошо, это не подходит для распознавания и удаления любого числа, за которым следует точка , но он вернет нужную строку, например Приложение А, чтобы она могла претендовать на альтернативу.
// remove everything before first space echo trim(strstr('1290394958595. Appendix A', ' ')); // remove all numbers and dot and space from the left side of string echo ltrim('1290394958595. Appendix A', '0123456789. ');
Просто проигнорируйте это, это не вариант.
Материал после строки
$string = "1290394958595. Appendix A"; $first_space_position = strpos(" ", $string); $stuff_after_space = substr($string, $first_space_position);
Материал после точки
$string = "1290394958595. Appendix A"; $first_dot_position = strpos(".", $string); $stuff_after_dot = substr($string, $first_dot_position);
print preg_replace('%^(\d+\. )%', '', '1290394958595. Appendix A');
Функция PHP для поиска строки для регулярного выражения и для замены чего-то другого – preg_replace
. В этом случае вы хотите что-то вроде:
$mytitle = preg_replace('/^[0-9]+\. */', '', $myline);
Ну вот:
/[0-9]+\./
Кстати, я определенно использовал бы регулярное выражение здесь, поскольку они очень надежные и легкие.
ура
$str="1290394958595. Appendix A"; $s = explode(" ",$str,2); if( $s[0] + 0 == $s[0]){ print $s[1]; }