我有一张大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 :(得分:1)
不需要正则表达式。只需在空间上拆分并将第一个元素取为0索引。此外,在爆炸前使用trim()
修剪空格。
$my_arr = explode(" ", trim($my_string));
echo $my_arr[0]; // bb.M2.u4.F5
答案 1 :(得分:0)
您可以使用这个基于前瞻性的正则表达式:
$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)
来确保字符串中存在相同的单词。
替换只是一个空字符串。