首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何能爆炸/mb_拆分/preg_拆分一个中文字符串与“。(中文句号)作为分隔符?

我如何能爆炸/mb_拆分/preg_拆分一个中文字符串与“。(中文句号)作为分隔符?
EN

Stack Overflow用户
提问于 2012-11-14 21:00:44
回答 4查看 1.6K关注 0票数 0

下面是一个中文字符串示例:

代码语言:javascript
运行
复制
"最初 , 上帝 创造 了 天地 。 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。 "

如何将其分解为类似于此的数组?:

代码语言:javascript
运行
复制
Array
(
    [0] => 最初 , 上帝 创造 了 天地 。 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。
    [1] => 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。 
)

我试过但失败了:

代码语言:javascript
运行
复制
$array = mb_split('。', $string);
echo "<pre>";
print_r($array);

我明白了:

代码语言:javascript
运行
复制
Array
(
    [0] => 最初 , 上帝 创造 了 天地 。 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。
)

附注:字符集是GB18030。

,我找到了更多的信息。中国时期被称为句号。html转义是&#12290; &#x3002;**.。GB18030十六进制字节是a1a3。Unicode字符是“表意句号”(U+3002)。我怎样才能用这两种方法来实现我的目标?**

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-15 12:47:57

我之所以需要在gb18030中这样做,是因为我使用的库(dedesplit)在转换为utf-8时无法工作。图书馆是中文分词器。我联系了开发人员,他告诉我一个新的在utf-8 (http://www.itgrass.com/phpanalysis/index.html)中工作的开发人员。我已经测试过它,它正确地爆炸了以中文句号(或“句号”)作为分隔符的段落。

附注:在找到这个新图书馆之前,我已经决定写我自己的爆炸函数。我认为这可能有效,但我没有做任何测试。

票数 0
EN

Stack Overflow用户

发布于 2012-11-14 21:11:38

试试这个:

代码语言:javascript
运行
复制
$array = explode(chr(227), $string);

更新:

修复explode的字符

代码语言:javascript
运行
复制
foreach($array as $part) {
    echo str_replace(array(chr(128).chr(130)), '', $part);
    echo '<br>';
}
票数 0
EN

Stack Overflow用户

发布于 2012-11-14 21:34:01

不如你试试

$array =爆炸(‘.’)、$string);

这对我使用命令行是有效的。

输出:数组( =>最初,上帝创造了天地1 => 2大地混沌苍茫,深渊的表面一片黑暗2 => )

)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13387239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档