我有一个字符串:
2014-12-06 01:08:14 Andrew (76561198093241035) killed Moraiti () with weapon hgun_PDW2000_F
我需要能够将这个字符串分成单独的部分,如下所示:
2014-12-06 01:08:14
Andrew
(76561198093241035)
Moraiti
hgun_PDW2000_F
问题是我不知道每件物品会有多少个字符。这甚至可能吗?
答案 0 :(得分:1)
您可以使用正则表达式:
$pat = '/^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (.+?) (\((?:\d{17}|)\)) killed (.+?) (\((?:\d{17}|)\)) with weapon (.+)$/';
$str = '2014-12-06 01:08:14 Andrew (76561198093241035) killed Moraiti () with weapon hgun_PDW2000_F';
preg_match($pat, $str, $matches);
var_dump($matches);
array(7) {
[0]=>
string(91) "2014-12-06 01:08:14 Andrew (76561198093241035) killed Moraiti () with weapon hgun_PDW2000_F"
[1]=>
string(19) "2014-12-06 01:08:14"
[2]=>
string(6) "Andrew"
[3]=>
string(19) "(76561198093241035)"
[4]=>
string(7) "Moraiti"
[5]=>
string(2) "()"
[6]=>
string(14) "hgun_PDW2000_F"
}
答案 1 :(得分:1)
您还可以使用explode
将字符串转换为数组。使用您指定的字符串,您将使用空格作为分隔符,然后您可以获得该数组的各种元素。
示例:
$str = '2014-12-06 01:08:14 Andrew (76561198093241035) killed Moraiti () with weapon hgun_PDW2000_F';
$array = explode(' ', $str);
echo $array[0].' '.$array[1].PHP_EOL;
echo $array[2].PHP_EOL;
echo $array[3].PHP_EOL;
echo $array[5].PHP_EOL;
echo $array[9].PHP_EOL;
结果:
2014-12-06 01:08:14
安德鲁
(76561198093241035)
Moraiti
hgun_PDW2000_F
如果您想使用数组的其他部分,请使用var_dump($array);
找出哪些部分,