sent = re.split('(?<!\w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)(\s|[A-Z].*)',text)
for s in sent:
print s
Здесь используется регулярное выражение: (?<!\w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)(\s|[A-Z].*)
Первый блок: (?<!\w\.\w.)
: этот шаблон ищет в цикле отрицательной обратной связи (?<!)
для всех слов (\w)
, за которым следует полный запуск (\.)
, за которым следуют другие слова (\.)
Второй блок: (?<![A-Z][a-z]\.)
: этот шаблон выполняет поиск в цикле отрицательной обратной связи для чего-либо, начиная с букв верхнего регистра ([A-Z])
, а затем строчных алфавитов ([a-z])
пока не будет найдена точка (\.)
.
Третий блок: (?<=\.|\?)
: этот шаблон ищет в контуре обратной связи точки (\.)
ИЛИ вопросительный знак (\?)
Четвертый блок : (\s|[A-Z].*)
: эта модель выполняет поиск после точки или вопросительного знака из третьего блока. Он ищет пустое пространство (\s)
ИЛИ любую последовательность символов, начиная с алфавита верхнего регистра ([A-Z].*)
. Этот блок очень важен для разделения, если вход такой как
Hello world.Hi Я здесь сегодня.
blockquote>i.e. если после точки есть пробел или пробел.
Я получил эту работу с помощью этого кода:
// Delete the file from WordPress server after processing.
$filename_only = wp_basename( get_attached_file( $post_thumbnail_id ) );
$upload_dir = wp_upload_dir();
$dir = $upload_dir['basedir'] .'/'. date('Y') . '/' . date ('m');
$file = $dir . '/' . $filename_only;
if ( ! empty ($file)){
chdir($dir);
unlink($filename_only);
}
Сначала я выбрал имя файла и каталог загрузки. Затем я проверил, существует ли файл в каталоге, и если да, то рабочий каталог изменился на локальный каталог загрузки, и удалил файл.