簡體   English   中英

從字符串中刪除字符

[英]Remove character from the string

我有一個字符串,現在我想替換字符串之間的逗號。

Declare @Query nvarchar(max)
Set @Query = 'Item1,Item2,"Item,Demo,3",New'

我想從給定的字符串中刪除雙引號(“”)之間的逗號

我想要這樣的結果

'Item1,Item2,ItemDemo3,New'

現在,此"Item,Demo,3"部分現在為ItemDemo3

這個想法是使用PATINDEX查找模式。 在這里,我使用patindex查找雙引號,然后使用所需子串的開始和長度。 將分為三個部分:之前,所需的修改和之后

然后,我替換了逗號,並再次制作了字符串

    Declare @Query nvarchar(max) 

    Set @Query = 'Item1,Item2,"Item,Demo,3",New'

    Declare @start int, @len int
    SELECT @start = PATINDEX('%"%"%', @Query) + 1

    select @len=CHARINDEX('"', SUBSTRING(@Query, @start, LEN(@Query))) - 1

    select 
        SUBSTRING(@Query, 1, @start - 2) +
        REPLACE((SUBSTRING(@Query, @start, @len)), ',', '') +
        SUBSTRING(@Query, @start + @len + 1, LEN(@Query))

請讓我知道它是否有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM