Perl 在字符实体引用处拆分字符串
Perl split string at character entity reference
快速 Perl 问题,希望有一个简单的答案。我正在尝试对包含不间断空格 (
) 的字符串执行拆分。这是在使用 HTML::TreeBuilder::XPath
读取 html
页面并检索 $titleString = $tree->findvalue('/html/head/title')
所需的字符串之后
use HTML::TreeBuilder::XPath;
$tree = HTML::TreeBuilder::XPath->new;
$tree->parse_file( "filename" );
$titleString = $tree->findvalue('/html/head/title');
print "$titleString\n";
下面粘贴的是原始字符串,下面是打印的字符串:
Mr Dan Perkins (Active)
Mr?Dan Perkins?(Active)
我试过将 $titleString
与 @parts = split('\?',$titleString);
以及原来的 nbsp
分开,但都没有用。我的直觉是要在某处添加一段简单的编码代码?
HTML代码:
<html>
<head>
<title>Dan Perkins (Active)</title>
</head>
</html>
您不必知道文档中的文本是如何编码的。因此,当文档包含
时,findvalue
returns 是一个实际的不间断 space (U+00A0)。因此,您将使用
split(/\xA0/, $title_string)
-or-
split(/\x{00A0}/, $title_string)
-or-
split(/\N{U+00A0}/, $title_string)
-or-
split(/\N{NBSP}/, $title_string)
-or-
split(/\N{NO-BREAK SPACE}/, $title_string)
快速 Perl 问题,希望有一个简单的答案。我正在尝试对包含不间断空格 (
) 的字符串执行拆分。这是在使用 HTML::TreeBuilder::XPath
读取 html
页面并检索 $titleString = $tree->findvalue('/html/head/title')
use HTML::TreeBuilder::XPath;
$tree = HTML::TreeBuilder::XPath->new;
$tree->parse_file( "filename" );
$titleString = $tree->findvalue('/html/head/title');
print "$titleString\n";
下面粘贴的是原始字符串,下面是打印的字符串:
Mr Dan Perkins (Active)
Mr?Dan Perkins?(Active)
我试过将 $titleString
与 @parts = split('\?',$titleString);
以及原来的 nbsp
分开,但都没有用。我的直觉是要在某处添加一段简单的编码代码?
HTML代码:
<html>
<head>
<title>Dan Perkins (Active)</title>
</head>
</html>
您不必知道文档中的文本是如何编码的。因此,当文档包含
时,findvalue
returns 是一个实际的不间断 space (U+00A0)。因此,您将使用
split(/\xA0/, $title_string)
-or-
split(/\x{00A0}/, $title_string)
-or-
split(/\N{U+00A0}/, $title_string)
-or-
split(/\N{NBSP}/, $title_string)
-or-
split(/\N{NO-BREAK SPACE}/, $title_string)