全形半形標點的轉換

2021-05-23 13:50:43 字數 1666 閱讀 7525

--full2half

create

function

[dbo].

[full2half](

@string

nvarchar

(max))

returns

nvarchar

(max)as

/*全形(fullwidth)轉換為半形(halfwidth)

*/begin

declare

@chr

nchar(1

)declare

@iint

set@string

=replace

(@string,n'

',n''

)set@i=

patindex(n'

%[!-~]%

'collate latin1_general_bin,

@string

)while

@i>

0begin

set@chr

=substring

(@string,@i

,1)set

@string

=replace

(@string

,@chr

,nchar

(unicode

(@chr)-

65248

))set@i=

patindex(n'

%[!-~]%

'collate latin1_general_bin,

@string

)end

return

@string

endgo

create

function

[dbo].

[half2full](

@string

nvarchar

(max))

returns

nvarchar

(max)as

/*半形(halfwidth)轉換為全形(fullwidth)

*/begin

declare

@chr

nchar(1

)declare

@iint

set@string

=replace

(@string,n'

',n''

)set@i=

patindex(n'

%[!-~]%

'collate latin1_general_bin,

@string

)while

@i>

0begin

set@chr

=substring

(@string,@i

,1)set

@string

=replace

(@string

,@chr

,nchar

(unicode

(@chr)+

65248

))set@i=

patindex(n'

%[!-~]%

'collate latin1_general_bin,

@string

)end

return

@string

endgo

將文件全形標點轉成半形標點方法

private static string replace string line hashmap map new hashmap map.put map.put map.put map.put map.put map.put map.put map.put map.put map.put map....

c 全形半形轉換

轉全形的函式 sbc case 任意字串 全形字串 全形空格為 12288 半形空格為 32 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差 65248 public string tosbc string input if c i 127 c i char c i...

全形半形轉換函式

轉全形的函式 sbc case 任意字串 全形字串 全形空格為12288,半形空格為32 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 public string tosbc string input if c i 127 c i char c i 65...