根据空间数量分割

时间:2016-09-26 14:28:17

标签: php regex

(每个*等于1个空格,因为我不知道如何保留所有空格而不是格式化为1)

我的输出看起来像这样:

Austria Wien*****Rapid Wien
FC Admira Wacker*SCR Altach
RB Salzburg******SKN St. Pölten
WolfsbergerAC****SV Ried
SV Mattersbur****Sturm Graz

我希望能够将每一行分成两个队名。如果我与

分开
preg_split("/(  +)/", $input_line);

除了2.线(FC Admira Wacker SCR Altach)之外,它几乎起作用,因为Team名称之间的空间也只是1,然后它根本就不会分裂。有人可以帮我解决这个问题吗?

  

enter image description here

  

enter image description here

我从中读取了源代码的2个截图,第一个是原始表,第二个(图片中未过滤)只包括两个团队的名称作为输出(分数是已经处理过了)

也许这有助于提出替代方案。

2 个答案:

答案 0 :(得分:1)

假设我理解正确,我不认为可以用preg拆分做你想做的事。给出名称之间的空格数可以从1到1之间变化。空格字符在名称中有效。

对您的数据源做出疯狂的假设 - 我怀疑您的列大小可能都是固定的 - 即。空间只是填充,所以第二列是在正确的位置。在这种情况下,我说只需计算每列的大小,然后使用正确的字符位置&的子字符串获取每个名称。修剪它以获得最终价值。

希望有所帮助(很可能它没有,没有真正的数据,它是不可能的,对不起)

答案 1 :(得分:0)

只有当团队名称被多个空格分割时才能实现这一点,在这种情况下,您可以使用简单的正则表达式:

/ {2,}/

哪个匹配2个或更多空格。