我需要一种方法,根据标点符号或空格的存在将字符串拆分成几个不同的部分.
我的意思是,每个单词都应该被分成它自己的数组元素,而且在单词的开头或结尾处的标点符号也应该放入它自己的数组元素中.
例如:我需要能够将字符串Hello, Harry Potter. I'm Tom Riddle.转换为
array(
"Hello",
", "
"Harry",
"Potter"
". ",
"I'm",
"Tom",
"Riddle",
". "
)
Run Code Online (Sandbox Code Playgroud)
所以标点符号中的单词的中间(在单词中间例如撇号)不应引起分离**编辑:**所以澄清所需的行为,I'm,didn't等应保持一个字,但是hello!,"okay,等等,应该远离开头或结尾的标点符号.
另外,我希望包含在搜索中的标点符号是:
我找到的最接近的结果是:
preg_split('/(\s|[\.,\/])/', $string, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
Run Code Online (Sandbox Code Playgroud)
但是,问题是:
,(后面的空格),但如果它是一个开括号,它将是((之前的空格).preg_split("/(\s|[\.?!,;:-(){}[]'\"…\/])/",)我得到一个错误.我很确定这个错误是由于一个未转义的字符,所以我运行了整个过程preg_quote,返回了\.\?\!,;\:\-\(\)\{\}\[\]'"…,但这仍然给出了错误:Parse …如何在流程图中显示嵌套循环?
\n\n我想在流程图中显示一个嵌套的 foreach 循环,显示类似这样的内容
\n\nforeach($array as $item) {\n foreach($SecondArray as $key=>$value) {\n // Do stuff...\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n现在纠正我,如果我错了,但是没有办法在流程图中显示 foreach 循环,所以我需要在图中显示 for 循环(?)所以算法应该显示为更多内容喜欢:
\n\nfor ($i = 0; $i < count($array); i++) {\n for ($j = 0; $j < count($arrayTwo); $j++) {\n // Do stuff...\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n现在看看这个问题的答案(如何在算法的块表示中描绘 \xe2\x80\x9cfor\xe2\x80\x9d 循环),单个 for 循环可以显示如下:
\n\n\n\n但我想不出任何可以显示嵌套循环的方法(以显示我上面编写的代码)。
\n\n有什么建议么?
\n