如何通过分隔符拆分字符串,但如果它被转义则不能?例如,我有一个字符串:
1|2\|2|3\\|4\\\|4
Run Code Online (Sandbox Code Playgroud)
分隔符是|和转义分隔符\|.此外,我想忽略逃脱反斜杠,因此\\|在|仍然是一个分隔符.
所以使用上面的字符串,结果应该是:
[0] => 1
[1] => 2\|2
[2] => 3\\
[3] => 4\\\|4
Run Code Online (Sandbox Code Playgroud) 我有这个简单的模式,将文本分成句点
$text = preg_split("/[\.:!\?]+/", $text);
Run Code Online (Sandbox Code Playgroud)
但我想包括.: 要么 !在数组项的末尾
IE现在用于"好:新闻!每个人!" 我有:
array("good", "news", "everyone", "");
Run Code Online (Sandbox Code Playgroud)
但我想要的是:
array("good:", "news.", "everyone!", "");
Run Code Online (Sandbox Code Playgroud) 这可能听起来像一个愚蠢的问题,但是:当使用它来提取php中的搜索查询中的关键字时,这会更快:
$keyword = preg_split('/[\s]+/', $_GET['search']);
Run Code Online (Sandbox Code Playgroud)
要么
$keyword = explode(' ', $_GET['search']);
Run Code Online (Sandbox Code Playgroud) 我试图在PHP中拆分一个字符串,如下所示:
ABCDE1234ABCD1234ABCDEF1234
Run Code Online (Sandbox Code Playgroud)
进入一个字符串数组,在这种情况下,看起来像这样:
ABCDE1234
ABCD1234
ABCDEF1234
Run Code Online (Sandbox Code Playgroud)
因此,模式是"未定义的字母数,然后是4位数,然后是未定义的字母数和4位数等."
我正在尝试使用preg_split分割字符串,如下所示:
$pattern = "#[0-9]{4}$#";
preg_split($pattern, $stringToSplit);
Run Code Online (Sandbox Code Playgroud)
它返回一个包含第一个元素中的完整字符串(不是拆分)的数组.
我猜这里的问题是我的正则表达式,因为我不完全理解如何使用它们,我不确定我是否正确使用它.
那么使用正确的正则表达式是什么?
我搜索了几个小时.如何用"\"分隔字符串
我需要将HORSE\COW分成两个单词并丢失反斜杠.
我发现了这个类似的问题,但它没有回答我的问题,大写字母拆分.
我有一个骆驼案的字符串.我想在每个大写字母中分解该字符串,如下所示.
$str = 'CamelCase'; // array('Camel', 'Case');
Run Code Online (Sandbox Code Playgroud)
我到目前为止:
$parts = preg_split('/(?=[A-Z])/', 'CamelCase');
Run Code Online (Sandbox Code Playgroud)
但是结果数组总是在开头时以空值结束!$parts看起来像这样
$parts = array('', 'Camel', 'Case');
Run Code Online (Sandbox Code Playgroud)
如何摆脱数组开头的空值?
任何人都可以向我解释如何使用preg_split()函数?我不明白这样的模式参数"/[\s,]+/".
例如:
我有这个主题:is is.我希望结果如下:
array (
0 => 'is',
1 => 'is',
)
Run Code Online (Sandbox Code Playgroud)
所以它会忽略空间和全程,我怎么能这样做?
我想转换以下拆分功能,我一直使用preg_split ..它有点混乱,因为值会不时改变..
$root_dir = 'www';
$current_dir = 'D:/Projects/job.com/www/www/path/source';
$array = split('www', 'D:/Projects/job.com/www/www/path/source', 2);
print_r($array);
Run Code Online (Sandbox Code Playgroud) 这是我的档案:
0.0 5.0 5.0 6.0 7.0 2.0 5.0 2.0 1.0 5.0 5.0 1.0 2.0 7.1 5.0
5.0 0.0 5.0 5.0 5.0 2.0 5.0 1.0 5.0 6.0 6.0 6.0 6.0 1.0 7.1
5.0 5.0 0.0 6.0 1.0 6.0 5.0 5.0 1.0 6.0 5.0 7.0 1.0 5.0 6.0
6.0 5.0 6.0 0.0 5.0 2.0 1.0 6.0 5.0 6.0 2.0 1.0 2.0 1.0 5.0
7.0 5.0 1.0 5.0 0.0 7.0 1.0 1.0 2.0 1.0 5.0 6.0 2.0 2.0 5.0
2.0 2.0 6.0 2.0 …Run Code Online (Sandbox Code Playgroud) 如何将文本拆分成一系列句子?
示例文字:
给我一个海狸.给我一个海狸!给我一个海狸?炸我海狸没有.4?炸了我很多海狸......结束
应输出:
0 => Fry me a Beaver.
1 => Fry me a Beaver!
2 => Fry me a Beaver?
3 => Fry me Beaver no. 4?!
4 => Fry me many Beavers...
5 => End
Run Code Online (Sandbox Code Playgroud)
我尝试了一些我通过搜索在SO上找到的解决方案,但它们都失败了,特别是在第4句.
/(?<=[!?.])./
/\.|\?|!/
/((?<=[a-z0-9)][.?!])|(?<=[a-z0-9][.?!]\"))(\s|\r\n)(?=\"?[A-Z])/
/(?<=[.!?]|[.!?][\'"])\s+/ // <- closest one
Run Code Online (Sandbox Code Playgroud)