pythonで以下のコードを使って実体参照、文字参照を直しているのですが「~」
など特定の文字がうまく直されませんどういうことでしょうか? python2.7です。
下のコードで4~6人を直すと46人になる。
文字参照とか実体参照とかhtmlentitydefsの使い方も詳しく分かってません。
その辺も総合して教えていただけるとありがたいです。
def sansyounaosi(text):
# 正規表現のコンパイル
reference_regex = re.compile(u'&(#x?[0-9a-f]+|[a-z]+);', re.IGNORECASE)
num16_regex = re.compile(u'#x\d+', re.IGNORECASE)
num10_regex = re.compile(u'#\d+', re.IGNORECASE)
result = u''
g = 0
while True:
# 実体参照 or 文字参照を見つける
match = reference_regex.search(text, g)
if match is None:
result += text[g:]
break
result += text[g:match.start()]
g = match.end()
name = match.group(1)
# 実体参照
if name in htmlentitydefs.name2codepoint.keys():
result += unichr(htmlentitydefs.name2codepoint[name])
# 文字参照
elif num16_regex.match(name):
# 16進数
result += unichr(int(u'0'+name[1:], 16))
elif num10_regex.match(name):
# 10進数
result += unichr(int(name[1:]))
return result
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Application.ScreenUpdating = ...
-
実行時エラー 3020の対策
-
vbaでxmlからNodeListでデータ...
-
2つのpythonがあって、一方で...
-
VBAでPDFのコピーとリネームを...
-
【メモリ不足で落ちる(python)】
-
パイソンのクラスのブログラム
-
文字列配列をメンバにもつ構造...
-
vscode 文字化け
-
この英語はどういう意味ですか?
-
UWSC:ポップアップウインドウ...
-
CTR-Dでプログラムを終了
-
パイソンプログラミング
-
検索機能
-
PHP+SQLiteでmax(id)が使えない?
-
C++ コマンドプロンプトでの入...
-
バッチファイル 戻り値
-
VBA他のブックから値のみ貼付す...
-
パイソンのクラスについて
-
[python] 文字列を変数名として...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Application.ScreenUpdating = ...
-
実行時エラー 3020の対策
-
[python] 文字列を変数名として...
-
ACCESS テキストボックスを隙...
-
FindFirst を複数条件で検索
-
【メモリ不足で落ちる(python)】
-
VBA他のブックから値のみ貼付す...
-
構造体の各データの表示につい...
-
パイソンプログラミング
-
VBAでPDFのコピーとリネームを...
-
phpでボタンを押したときに変数...
-
vscode 文字化け
-
vbaでxmlからNodeListでデータ...
-
コンボボックスのtag情報の取得...
-
「*:*」って何を意味するのでし...
-
パイソンのクラスのブログラム
-
構造体の変数の値を、動的に取...
-
パイソンのクラスについて
-
C言語について
-
VBAで特殊文字を出力したい
おすすめ情報