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

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

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

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

C#全角半角转换

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

2.2K100

Hutool工具类库之类型转换工具类

Convert类中大部分方法为toXXX,参数为Object,可以实现将任意可能的类型转换为指定类型。同时支持第二个参数defaultValue用于在转换失败时返回一个默认值。...> list = Convert.toList(a); 5、半角全角转换 // 半角全角 String a = "123456789"; // 结果为:"123456789" String sbc...= Convert.toSBC(a); // 全角半角 String a = "123456789"; // 结果为"123456789" String dbc = Convert.toDBC(a)...Convert.numberToWord(100.23); // 数字简化 // 1.2k String format1 = Convert.numberToSimple(1200, false); // 数字中文...// 数字中文方法中,只保留两位小数 // 一万零八百八十九点七二 String f1 = Convert.numberToChinese(10889.72356, false); // 使用金额大写

55330

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.6K20

记一次前端文本对齐的问题

这里需要配置符合下面要求的严格半角字体,参考: 有没有中英文均有,且有字重和斜体的等宽字体?...全角半角字体 参考: 中文输入法为什么会有全角半角的区别? 主要原因是符号冲突 比如英文逗号","与中文逗号",",用眼睛就可以看出长度与大小是不一样的。...当在键盘上输入逗号时,中文输入法不确定你想要的是哪种逗号(中/英),所以就提供了全角半角模式,英文半角输出英文逗号,其它模式就是中文逗号,这样,我们用一种输入法就能打出两种符号,而不用切换成其它输入法...小结 总结一下两种解决方案: 第一种寻找特定字体的方案花费了大量的时间和精力,却没有得到一个比较完善的解决方案; 第二种方案由于之前没有类似问题的处理经验,忽略了JS处理内容和样式的作用,最后得到了一个还不错的解决方案...写这篇文章,一小部分是记录这个文本对齐的样式调整问题;另外主要的目的是提醒自己不要沉醉在各种层出不穷的前端框架中,所有在Web中实现的功能,最终都会回归到HTML、CSS和JS中。

1.6K30

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

后来,其中的一些全角字符因为比较有用,就得到了广泛应用(比如全角逗号「,」、问号「?」、感叹号「!」、空格「 」等),专用于中日韩文本,成为了标准的中日韩标点字符。...所以这些没什么用的全角字符也留下来了。而国家标准也仍在要求字体和软件支持这些全角字符。 全角半角的区别# 第一点大多数朋友都明白,也最直接,那就是使用全角半角打出的字的形状是不一样的。...半角输入:自由 之路 ddd 全角输入:自由 之路ddd 上面给出了一个列子,我们明显可以看出在全角半角模式下,字母和空格之间的区别,而中文则没区别。...全角半角的切换# 我使用的是搜狗输入法,切换全角半角非常方便。只需要右击搜狗图标,会出现一个月牙形的图标,点击图标就能在全角半角之间切换。切换到全角时图标会变成一个太阳。...在汉字输入法中,输入的字母数字默认为半角,但是标点则是默认为全角

1.4K20

HanLP 词性标注列表

:% ‰ 半角:% pbei 介词“被” s 处所词 usuo 所 wd 逗号全角:, 半角:, q 量词 t 时间词 uv 连词 wf 分号,全角:; 半角: ; qg 量词语素 tg...时间词性语素 uyy 一样 一般 似的 般 wh 单位符号,全角:¥ $ £ ° ℃ 半角:$ qt 时量词 u 助词 uz 着 wj 句号,全角:。...qv 动量词 ud 助词 uzhe 着 wky 右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { > r 代词 ude1 的 底 uzhi 之 wkz 左括号,全角:( 〔 [...{ 《 【 〖 〈 半角:( [ { < rg 代词性语素 ude2 地 v 动词 wm 冒号,全角:: 半角: : Rg 古汉语代词性语素 ude3 得 vd 副动词 wn 顿号,...全角:、 rr 人称代词 udeng 等 等等 云云 vf 趋向动词 wp 破折号,全角:—— -- ——- 半角:— —- ry 疑问代词 udh 的话 vg 动词性语素 ws

3.4K10

技术文档规范

字间距 全角中文字符与半角英文字符之间,应有一个半角空格。 反例:本文介绍如何快速启动Windows系统。 正例:本文介绍如何快速启动 Windows 系统。...全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。 正例:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。...半角数字 数字一律使用半角形式,不得使用全角形式。 反例: 这件商品的价格是1000元。 正例: 这件商品的价格是 1000 元。 # 4.2. 千分号 数值为千位以上,应添加千分号(半角逗号)。...符号原则 中文语句的标点符号,均应该采取全角符号,这样可以保证视觉的一致。 如果整句为英文,则该句使用英文 / 半角标点。 句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。 # 5.2....英文句子中,并列词语之间使用半角逗号( , )分隔。

83440

微软日语输入法使用方法「建议收藏」

功能 :相当于手写板,可以反查日语汉字.不会读音时可以选用此功能. 6.ALT+~ :可切换英文输入法Direct Input(图标A) 和日文输入法Hiragana(图标あ) 7.快捷键:F6换为平假名...,F7换为片假名,F8换为半角片假名,F9换为全角英文数字,F10换为半角英文数字 8.F5偏旁发音输入大法:只要懂偏旁发音可以很快输出怪僻字,如“軾”用くるま+F5输入,出现输入板界面,并看到了该字...9)平假名、片假名、英数字间的转换 输入罗马字之后,按F6换为平假名,按F7换为全角片假名,按F8换为半角片假名,按F9换为全角英文数字,按F10换为半角英文数字。

3.2K30

解决TextView排版混乱或者自动换行的问题

其实在TextView中遇到排版自动换行而导致混乱不堪的情况是非常常见的,而且导致这种问题产生的原因就是英文和中文混合输入,半角字符和全角字符混合在一起了。...一般情况下,我们输入的数字、字母以及英文标点都是半角字符,所以占位无法确定,它们与汉字的占位不同,由于这个原因,导致很多文字的排版都是参差不齐的。...1、将TextView中的字符全角化。即将所有的数字、字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占位导致的排版混乱问题了。...半角转为全角的代码如下: /** * 半角换为全角 * * @param str * @return */ public static String...去除特殊字符或将所有中文标号替换为英文标号。利用正则表达式将所有特殊字符过滤,将中文标号替换为英文标号。

4.3K60

浅谈Android textview文字对齐换行的问题

经过研究之后,终于找到了textview自动换行导致混乱的原因了—-半角字符与全角字符混乱所致!一般情况下,我们输入的数字、字母以及英文标点都是半角,所以占位无法确定。...将textview中的字符全角化。 即将所有的数字、字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占位导致的排版混乱问题了。 半角转为全角的代码如下,只需调用即可。.../** * 半角换为全角 * * @param input * @return */ public static String ToDBC(String input)...12288,半角空格为32 c[i] = (char) 32; continue; } if (c[i] 65280 && c[i] < 65375)// 其他字符半角...去除特殊字符或将所有中文标号替换为英文标号。 利用正则表达式将所有特殊字符过滤,或利用replaceAll()将中文标号替换为英文标号。则转化之后,则可解决排版混乱问题。

2.9K50

业火输入法全角单双引号的实现

业火输入法在全角符号的模式下,转换全角引号(包括‘、’、“、”、『、「、」、』)一直都有问题,比如说没有办法输入右引号等,这篇文章介绍一下业火输入法如何处理这些个问题。...没有办法输入单直角引号(「」)和双直角引号(『』)这两个问题有不同的原因,首先,之所以没有办法输入右引号是因为单双引号在键盘上分别只有一个键位对应,在半角模式下,左右引号是一模一样的,所以在半角输入一个键位对应左右引号是没有问题的...,但是全角符号不同,全角的单双引号,左右引号是不同的,这样,在一个键位严格对应一个符号的情况下,自然就没有办法输入右引号了,这一换映射关系可参考业火输入法的实现。...其次,之所以没有办法输入单双直角引号是因为业火输入法没有对应的半角符号转换为单双直角引号,此处也可查看上面映射关系的具体实现。...这里主要是因为,每个符号按键转换为哪个符号在业火输入法中是可以由用户定义的,所以使用编码后的字符来处理就能让逻辑跟随用户定义的符号转换逻辑,而不是绑死在某个按键上。

33140
领券