{"id":3051,"date":"2016-12-14T10:23:14","date_gmt":"2016-12-14T02:23:14","guid":{"rendered":"http:\/\/ixyzero.com\/blog\/?p=3051"},"modified":"2016-12-14T10:23:14","modified_gmt":"2016-12-14T02:23:14","slug":"python%e4%b8%ad%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e8%bf%9b%e8%a1%8c%e5%a4%9a%e4%b8%aa%e5%ad%97%e7%ac%a6%e7%9a%84%e6%9b%bf%e6%8d%a2","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/3051.html","title":{"rendered":"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362"},"content":{"rendered":"<p>=Start=<\/p>\n<h4 id=\"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362-\u7f18\u7531\uff1a\">\u7f18\u7531\uff1a<\/h4>\n<p>\u5728\u5de5\u4f5c\u4e2d\u78b0\u5230\u4e86\u8fd9\u4e48\u4e00\u4e2a\u95ee\u9898\uff0c\u8bb0\u5f55\u4e00\u4e0b\u89e3\u51b3\u65b9\u6848\u53ca\u5176\u8fc7\u7a0b\uff0c\u65b9\u4fbf\u4ee5\u540e\u53c2\u8003\u3002<\/p>\n<h4 id=\"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362-\u6b63\u6587\uff1a\">\u6b63\u6587\uff1a<\/h4>\n<h5 id=\"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362-\u53c2\u8003\u89e3\u7b54\uff1a\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n<h6 id=\"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362-\u5148\u7ed9\u51fa\u7ed3\u8bba\uff1a\">\u5148\u7ed9\u51fa\u7ed3\u8bba\uff1a<\/h6>\n<ol>\n<li>\u8981\u66ff\u6362\u7684\u5b57\u7b26\u6570\u91cf\u4e0d\u591a\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u94fe\u5f0freplace()\u65b9\u6cd5\u8fdb\u884c\u66ff\u6362\uff0c\u6548\u7387\u975e\u5e38\u9ad8\uff1b<\/li>\n<li>\u5982\u679c\u8981\u66ff\u6362\u7684\u5b57\u7b26\u6570\u91cf\u8f83\u591a\uff0c\u5219\u63a8\u8350\u5728 for \u5faa\u73af\u4e2d\u8c03\u7528 replace() \u8fdb\u884c\u66ff\u6362\u3002<\/li>\n<\/ol>\n<h6 id=\"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362-\u53ef\u884c\u7684\u65b9\u6cd5\uff1a\">\u53ef\u884c\u7684\u65b9\u6cd5\uff1a<\/h6>\n<p>1. \u94fe\u5f0freplace()<br \/>\nstring.replace().replace()<\/p>\n<p>1.x \u5728for\u5faa\u73af\u4e2d\u8c03\u7528replace()\u300c\u5728\u8981\u66ff\u6362\u7684\u5b57\u7b26\u8f83\u591a\u65f6\u300d<\/p>\n<p>2. \u4f7f\u7528string.maketrans<\/p>\n<p>3. \u5148 re.compile \u7136\u540e re.sub<\/p>\n<p>\u2026\u2026<\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<div id=\"highlighter_216030\" class=\"syntaxhighlighter sh-confluence nogutter java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"code\">\n<div class=\"container\" title=\"Hint: double-click to select code\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">def a(text):<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">chars =\u00a0<\/code><code class=\"java string\">\"&amp;#\"<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">for<\/code>\u00a0<code class=\"java plain\">c in chars:<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = text.replace(c,\u00a0<\/code><code class=\"java string\">\"\\\\\"<\/code>\u00a0<code class=\"java plain\">+ c)<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java plain\">def b(text):<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">for<\/code>\u00a0<code class=\"java plain\">ch in [<\/code><code class=\"java string\">'&amp;'<\/code><code class=\"java plain\">,<\/code><code class=\"java string\">'#'<\/code><code class=\"java plain\">]:<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">if<\/code>\u00a0<code class=\"java plain\">ch in text:<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = text.replace(ch,<\/code><code class=\"java string\">\"\\\\\"<\/code><code class=\"java plain\">+ch)<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java keyword\">import<\/code>\u00a0<code class=\"java plain\">re<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java plain\">def c(text):<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">rx = re.compile(<\/code><code class=\"java string\">'([&amp;#])'<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = rx.sub(r<\/code><code class=\"java string\">'\\\\\\1'<\/code><code class=\"java plain\">, text)<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><\/div>\n<div class=\"line number16 index15 alt1\"><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java plain\">RX = re.compile(<\/code><code class=\"java string\">'([&amp;#])'<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java plain\">def d(text):<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = RX.sub(r<\/code><code class=\"java string\">'\\\\\\1'<\/code><code class=\"java plain\">, text)<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><\/div>\n<div class=\"line number21 index20 alt2\"><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java plain\">def mk_esc(esc_chars):<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code>\u00a0<code class=\"java plain\">lambda s:\u00a0<\/code><code class=\"java string\">''<\/code><code class=\"java plain\">.join([<\/code><code class=\"java string\">'\\\\'<\/code>\u00a0<code class=\"java plain\">+ c\u00a0<\/code><code class=\"java keyword\">if<\/code>\u00a0<code class=\"java plain\">c in esc_chars\u00a0<\/code><code class=\"java keyword\">else<\/code>\u00a0<code class=\"java plain\">c\u00a0<\/code><code class=\"java keyword\">for<\/code>\u00a0<code class=\"java plain\">c in s])<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java plain\">esc = mk_esc(<\/code><code class=\"java string\">'&amp;#'<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java plain\">def e(text):<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">esc(text)<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><\/div>\n<div class=\"line number28 index27 alt1\"><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java plain\">def f(text):<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = text.replace(<\/code><code class=\"java string\">'&amp;'<\/code><code class=\"java plain\">,\u00a0<\/code><code class=\"java string\">'\\&amp;'<\/code><code class=\"java plain\">).replace(<\/code><code class=\"java string\">'#'<\/code><code class=\"java plain\">,\u00a0<\/code><code class=\"java string\">'\\#'<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><\/div>\n<div class=\"line number32 index31 alt1\"><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java plain\">def g(text):<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">replacements = {<\/code><code class=\"java string\">\"&amp;\"<\/code><code class=\"java plain\">:\u00a0<\/code><code class=\"java string\">\"\\&amp;\"<\/code><code class=\"java plain\">,\u00a0<\/code><code class=\"java string\">\"#\"<\/code><code class=\"java plain\">:\u00a0<\/code><code class=\"java string\">\"\\#\"<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text =\u00a0<\/code><code class=\"java string\">\"\"<\/code><code class=\"java plain\">.join([replacements.get(c, c)\u00a0<\/code><code class=\"java keyword\">for<\/code>\u00a0<code class=\"java plain\">c in text])<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><\/div>\n<div class=\"line number37 index36 alt2\"><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java plain\">def h(text):<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = text.replace(<\/code><code class=\"java string\">'&amp;'<\/code><code class=\"java plain\">, r<\/code><code class=\"java string\">'\\&amp;'<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = text.replace(<\/code><code class=\"java string\">'#'<\/code><code class=\"java plain\">, r<\/code><code class=\"java string\">'\\#'<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><\/div>\n<div class=\"line number42 index41 alt1\"><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"java plain\">def i(text):<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">text = text.replace(<\/code><code class=\"java string\">'&amp;'<\/code><code class=\"java plain\">, r<\/code><code class=\"java string\">'\\&amp;'<\/code><code class=\"java plain\">).replace(<\/code><code class=\"java string\">'#'<\/code><code class=\"java plain\">, r<\/code><code class=\"java string\">'\\#'<\/code><code class=\"java plain\">)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<h5 id=\"Python\u4e2d\u5982\u4f55\u5feb\u901f\u8fdb\u884c\u591a\u4e2a\u5b57\u7b26\u7684\u66ff\u6362-\u53c2\u8003\u94fe\u63a5\uff1a\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n<ul>\n<li><a class=\"external-link\" href=\"http:\/\/stackoverflow.com\/questions\/3411771\/multiple-character-replace-with-python\" target=\"_blank\" rel=\"nofollow\">http:\/\/stackoverflow.com\/questions\/3411771\/multiple-character-replace-with-python<\/a><\/li>\n<li><a class=\"external-link\" href=\"http:\/\/stackoverflow.com\/questions\/6116978\/python-replace-multiple-strings\" target=\"_blank\" rel=\"nofollow\">http:\/\/stackoverflow.com\/questions\/6116978\/python-replace-multiple-strings<\/a><\/li>\n<li>=<\/li>\n<li><a class=\"external-link\" href=\"http:\/\/stackoverflow.com\/questions\/8687018\/python-string-replace-two-things-at-once\" target=\"_blank\" rel=\"nofollow\">http:\/\/stackoverflow.com\/questions\/8687018\/python-string-replace-two-things-at-once<\/a><\/li>\n<li><a class=\"external-link\" href=\"http:\/\/stackoverflow.com\/questions\/28775049\/most-efficient-way-to-replace-multiple-characters-in-a-string\" target=\"_blank\" rel=\"nofollow\">http:\/\/stackoverflow.com\/questions\/28775049\/most-efficient-way-to-replace-multiple-characters-in-a-string<\/a><\/li>\n<\/ul>\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u5728\u5de5\u4f5c\u4e2d\u78b0\u5230\u4e86\u8fd9\u4e48\u4e00\u4e2a\u95ee\u9898\uff0c\u8bb0\u5f55\u4e00\u4e0b\u89e3\u51b3\u65b9\u6848\u53ca\u5176\u8fc7\u7a0b\uff0c\u65b9\u4fbf\u4ee5\u540e\u53c2\u8003\u3002 \u6b63\u6587\uff1a \u53c2\u8003\u89e3\u7b54 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,7],"tags":[8,697],"class_list":["post-3051","post","type-post","status-publish","format-standard","hentry","category-knowledgebase-2","category-programing","tag-python","tag-str-replace"],"views":3972,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=3051"}],"version-history":[{"count":0,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3051\/revisions"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=3051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=3051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=3051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}