求字串中漢字的個數

2021-06-27 00:20:07 字數 1739 閱讀 3679

一、分解字串法

首先建立這個函式:

/*將字串分解*/

create

function [dbo].[splitchar](

@str_one nvarchar

(100) )

returns @result table

(col nvarchar

(1)) as

begin

declare @number_one int

select @number_one=1

while @number_one<=

len(@str_one)

begin

insert @result select

substring

(@str_one,@number_one,1)

select @number_one=@number_one+1

end

return

end

然後建立如下函式

/*求字串中漢字個數*/

create

function [dbo].[chinesecountone](

@str_one nvarchar

(200) )

returns

intas

begin

declare @number_one int

select @number_one =

count

(*)from dbo.splitchar(@str_one)

where

ascii

(col)>127

return @number_one

end /*

使用示例

select dbo.[chinesecountone] ('china

中國beijing

北京olympics

奧林匹克')

*/ 二、字元位元組求差法

首先建立這個函式:

create

function [dbo].[chinesecount_two](

@str_one varchar

(200) )

returns

intas

begin

declare @number_one int

set  @number_one=(

datalength

(@str_one)-

len(@str_one))

return @number_one

end /*

使用示例

declare @sql_one varchar(200)

set @sql_one='china

中國beijing

北京olympics

奧林匹克'

declare @sql_two nvarchar(200)

set @sql_two='china

中國beijing

北京olympics

奧林匹克

'  

select dbo.[chinesecount_two] (@sql_one) '

個數one' ,

dbo.[chinesecount_two] (@sql_two) '

個數two'

--此例說明此方法不受資料型別限制 */

統計字串中的漢字個數

問題描述 統計字串中的漢字個數。解題思路是 從漢字機內碼的特點考慮 乙個漢字是有兩個ascii字元構成,且這兩個字元的ascii碼值小於0。include include using namespace std int getchinesecharactercounts string str 統計字...

求合法字串個數

合法字串個數 題目描述 給定數字n,輸入n個字串。規定合法的字串需要滿足 1.字串首位為大寫英文本元 2.除了首位之外的字元均為小寫英文本元。例如xiaotuzi是乙個合法的字串,而xiaotuzi不是合法的字串 請輸出一共有多少個合法字串 輸入描述 輸入共n 1行 第一行包括乙個整數n n 10 ...

葉子函式分享三十七 求字串中漢字的個數

一 分解字串法 首先建立這個函式 將字串分解 create function dbo splitchar str one nvarchar 100 returns result table col nvarchar 1 as begin declare number one int select n...