У меня был большой PDF. Я преобразовал это в стол. Поскольку это была бесплатная программа, она плохо работала. Мои клетки выглядят так:
---------------------------------------
| bb.M2.u4.F5 bb.M2.u4.F5 bb.M2.u4.F5 |
---------------------------------------
Когда это должно выглядеть так (обратите внимание на пробел):
-----------
|bb.M2.u4.F5|
-----------
Я хочу загрузить все содержимое файла в мою базу данных. Но прежде чем загрузить, Я должен очистить данные повторяющихся строк в каждой строке.
Как мне этого добиться?
$my_string = " bb.M2.u4.F5 bb.M2.u4.F5 bb.M2.u4.F5 ";
$my_string = WhatFunctionCanIUseAndHow($my_string) // Would echo this: bb.M2.u4.F5
Как?
Постскриптум повторное возникновение может произойти менее или более 4 раз. Никогда не знаешь.
Нет необходимости в регулярных выражениях. Просто разделите пробел и возьмите первый элемент с индексом 0. Также используйте trim()
обрезать пространство перед взрывом.
$my_arr = explode(" ", trim($my_string));
echo $my_arr[0]; // bb.M2.u4.F5
Вы можете использовать это регулярное выражение:
$my_string = ' bb.M2.u4.F5 bb.M2.u4.F5 bb.M2.u4.F5 ';
$my_string = preg_replace('/ *(\b\w+\b)\.? *(?=.*\b\1\b)/', '', $my_string);
//=> bb.M2.u4.F5
Это регулярное выражение захватывает группу символов слова, используя (\b\w+\b)
а затем использует взгляд (?=.*\b\1\b)
чтобы убедиться, что то же слово существует в строке.
Замена только с пустой строкой.