首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python 匹配文本全角半角字符「建议收藏」

在对文本进行处理的时候经常会遇见要对括号和标点进行匹配 常见的英文(半角)符号如( ) 直接用正则匹配即可 但是遇见全角字符(中文括号、标点),直接用正则匹配会存在问题: 因为编码通常为为utf8,若直接匹配...字节编码会和一些中文的字节编码重复,产生意想不到的结果 若用decode转为unicode编码,则可避免产生错误结果,但也无法直接用正则匹配到 经过试验,发现一个看上去最佳的解决方法: 将字符串decode之后调用一个将全角符号转为半角符号的方法...,然后处理返回的字符串 def strQ2B(ustring): """全角半角""" rstring = "" for uchar in ustring: inside_code.../usr/bin/env python#-*- coding: utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf8')import reif...第二种方法简单直接 如果能快速方便列出所有形式的待匹配符号,就果断选用第二个 反之,若待匹配的各种符号太多太繁琐,就统一半角再处理更好 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    全角半角转换?

    有朋友在群里问,Power Query里有全角半角转换的函数吗? ——据我所知,应该是没有的。...但是,这似乎不算一个太偏门或太个性的问题,曾记得某次去建设银行做房产合同登记提取公积金时,他们非要将房号输入为全角的(说实话,我实在是觉得太奇怪了,所以一直到现在都没有忘记!)...既然不算太偏门或不太个性的问题,那么,我们可以相信,应该是有人问过或介绍过的,于是度娘一下,好嘛,还是有规律的: 基本规律其实很明显了: // 全角空格为12288,半角空格为32 //...其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 有了这个规律,也算是见过猪跑了,但能不能吃到猪肉,还得靠自己——在Power Query里写个自定义函数呗

    1.5K30

    C#全角半角转换

    在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。 B 全角半角各在什么情况下使用? 全角占两个字节,半角占一个字节。...半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。.../// 全角的函数(SBC case)         ///         ///任意字符串         ///全角字符串         ///         ///全角空格为12288,...ToSBC(String input)         {             // 半角全角:             char[] c = input.ToCharArray();            ...);             }             return new String(c);         }         /**/         // /         // / 半角的函数

    2.3K100

    全角字符和半角字符的区别和操作方法_手机有半角全角的区别吗

    所以这些没什么用的全角字符也留下来了。而国家标准也仍在要求字体和软件支持这些全角字符。 全角半角的区别# 第一点大多数朋友都明白,也最直接,那就是使用全角半角打出的字的形状是不一样的。...第二点是字符存储上的区别,在全角状态下,我们输入一个字母所占的字符是两个;而在半角状态下,我们输入一个字母所占的字符只有一个。输入汉字两者所占的字符都是两个。...半角输入:自由 之路 ddd 全角输入:自由 之路ddd 上面给出了一个列子,我们明显可以看出在全角半角模式下,字母和空格之间的区别,而中文则没区别。...全角半角的切换# 我使用的是搜狗输入法,切换全角半角非常方便。只需要右击搜狗图标,会出现一个月牙形的图标,点击图标就能在全角半角之间切换。切换到全角时图标会变成一个太阳。...在汉字输入法中,输入的字母数字默认为半角,但是标点则是默认为全角

    1.5K20

    java全角半角标点符号转换

    最好的方式就是我们将采集到的客户信息中的全角字符,都自动转为半角字符。将客户信息的接口加以约束,这样能一劳永逸。 说到全角半角的标点符号问题,这里就需要介绍一下什么是全角,什么是半角。...全角半角的使用场景 通常情况下,我们认为全角是占两个字节,而半角只占一个字节,但是需要注意的是,这都是相对标点符号而言。因为汉字不管全角还是半角,都是两个字节。...而我们的所有程序代码中,都只支持半角字符,全角字符默认会当作文本。...全角字符和半角字符的范围: 经过观察,我们可以得到如下结论: 1.半角字符是从33开始到126结束 2.与半角字符对应的全角字符是从65281开始到65374结束 3.其中半角的空格是32.对应的全角空格是...12288 4.半角全角的关系很明显,除空格外的字符偏移量是65248(65281-33 = 65248) 这样我们可以做一个工具类来进行全角半角字符的转换,针对本文开篇的问题,就可以很方便的解决:

    2.2K70

    python3环境下的全角半角转换代码和测试

    全角半角转换是文本预处理的常见工作之一,然而现在网上一搜python的相关代码,几乎都是python2版本的,因此根据人角和半角的转换规律,将其代码撰写如下: 1、全角半角之间的转换规律...角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E) 特殊的: 空格比较特殊...,全角为 12288(0x3000),半角为 32(0x20) 除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理...2、转换代码脚本(python3) def strQ2B(ustring): """把字符串全角半角""" ss = [] for s in ustring:...chr(inside_code) ss.append(rstring) return ''.join(ss) def strB2Q(ustring): """把字符串全角半角

    2.8K20

    盘点一个Python自动化办公的实战案例(word文件处理)

    大家好,我是Python进阶者。...一、前言 前几天在Python铂金交流群【Jethro Shen】问了一个Python自动化办公的问题,提问截图如下: 代码运行后的结果: 他预期的效果是选项和答案部分也需要显示出来,目前看上去还是没有显示出来...re.compile("\([ABCDEF]\)") # 从word文档的“一、单项选择题”开始遍历数据 for paragraph in doc.paragraphs[1:100]: # 去除空白字符,将全角字符半角字符...re.compile("【答案】([A-F])") # 从word文档的“一、单项选择题”开始遍历数据 for paragraph in doc.paragraphs[1:100]: # 去除空白字符,将全角字符半角字符...这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

    65930
    领券