日本的全形,半形正則匹配

2021-08-30 16:34:21 字數 979 閱讀 2862

[size=large]1.在lib中建立乙個檔案:string_util.rb,定義以下內容:[/size]

class string

# 半形字串

# 【引數】

# 【返値】

# 【注意】

# 【著作】20100518 xxc

def self.hankaku?(str)

return nil if str.nil? #文字列が空のとき

unless str.to_s =[color=red]~ /^[ -~。-゚]*$/[/color] # 半形のみokなので、全形が混ざっているとfalseが返る

return false

endreturn true

end# 全形字串

# 【引數】

# 【返値】

# 【注意】

# 【著作】20100518 xxc

def self.zenkaku?(str)

return nil if str.nil? # 文字列が空のとき

unless str.to_s =[color=red]~/^[^ -~。-゚]*$/[/color] # 全形のみokなので、半形が混ざっているとfalseが返る

return false

endreturn true

endend

[size=large]2.在environment.rb中: require 'string_util'[/size]

[size=large]3.呼叫:[/size]

* string.hankaku?("abcdef") # 判斷全形字串

* string.zenkaku?("abcdef") # 判斷半形字串

* 直接在validate中呼叫:

validates_format_of :code, :with => /^[ -~。-゚]*$/, :message => 'wrong!', :if => proc

python 匹配文字全形轉半形字元

在對文字進行處理的時候經常會遇見要對括號和標點進行匹配 常見的英文 半形 符號如 直接用正則匹配即可 但是遇見全形字符 中文括號 標點 直接用正則匹配會存在問題 因為編碼通常為為utf8,若直接匹配,中文括號的3位元組編碼會和一些中文的位元組編碼重複,產生意想不到的結果 若用decode轉為unic...

全形半形標點的轉換

full2half create function dbo full2half string nvarchar max returns nvarchar max as 全形 fullwidth 轉換為半形 halfwidth begin declare chr nchar 1 declare iin...

全形與半形的區別

全形字符 fullwidth character 又稱全寬字元,日文為全形文字。字面上的意思,是指比普通字元 或半形字元 為寬的字元。傳統上,英語或拉丁字母語言使用的電腦系統,每乙個字母或符號 都是使用一位元組的空間 一位元組有8位,共256個編碼空間 來儲存 而漢語 日語及韓語文字,由於數量大大超...