eg:
str1 = 'admin'
str2 = '1234,123admin,xcxx'
比較str1是否在str2中
用常用的charindex,返回肯定是有值的,這裡自己動手寫乙個方法
----------------檢查乙個字串是否在另外乙個字串中數,另外乙個字串元素用,隔開-------------
create
function
[dbo
].[checkstrinarr
](@s
asvarchar(50),@sarr
asvarchar(5000)) returns
intas
begin
declare
@str
varchar(5000
)set
@str
=@sarr
declare
@next
intdeclare
@ret
int--
0表示不存在 1表示存在
set@ret=0
set@next=1
while
@next
<=dbo.get_strarraylength(@str,','
)begin
if dbo.get_strarraystrofindex(@str,'
,',@next)=
@sbegin
set@ret=1
; endset
@next
=@next+1
endreturn
@ret
end
----------------檢查乙個元素是否在陣列中-------------
create
function
[dbo
].[checkstrinarr
](@s
asvarchar(50),@sarr
asvarchar(5000)) returns
intas
begin
declare
@str
varchar(5000
)set
@str
=@sarr
declare
@next
intdeclare
@ret
int--
0表示不存在 1表示存在
set@ret=0
set@next=1
while
@next
<=dbo.get_strarraylength(@str,','
)begin
if dbo.get_strarraystrofindex(@str,'
,',@next)=
@sbegin
set@ret=1
; endset
@next
=@next+1
endreturn
@ret
end
---------------------獲取陣列的長度--------------
create
function
[dbo
].[get_strarraylength](
@str
varchar(5000), --
要分割的字串
@split
varchar(10) --
分隔符號
)returns
intas
begin
declare
@location
intdeclare
@start
intdeclare
@length
intset
@str
=ltrim(rtrim(@str
))
set@location
=charindex(@split,@str)
set@length=1
while
@location
<>
0begin
set@start
=@location+1
set@location
=charindex(@split,@str,@start
)
set@length
=@length+1
endreturn
@length
end
通過以上三個小函式即可判斷特定字串是否在目標串中
判斷乙個字串是否為另外乙個字串旋轉之後的字串
例如 給定s1 aabcd和s2 bcdaa,返回1 給定s1 abcd和s2 acbd,返回0.aabcd左旋乙個字元得到abcda aabcd右旋乙個字元得到daabc 思路 把aabcd複製兩遍,看結果是否在aabcdaabcd 中 左旋和右旋的結果都在aabcdaabcd 中 include...
在乙個字串中尋找另外乙個字串
在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...
判斷乙個字串是否在另乙個字串中
方法一 string str1 nihaoksdoksad string str2 ok int total 0 for string tmp str1 tmp null tmp.length str2.length tmp tmp.substring 1 system.out.println st...