簡體   English   中英

如何將字符串從右邊的第二個分隔符向左分割,並且分隔符中有特殊字符?

[英]How split a string left to the second delimiter from the right and there is special character in delimiter?

我有一個完整的地址行的字段應該由換行符''分隔,如下所示

    Primary_Address_-_Full
    3903 NE 45th Street
APT 204
Seattle, WA 98105

    20504 NE 21st Ct.
Sammamish, WA 98074

    219 W Callender St
# A2-2
Livingston, MT 59047

    102 Branegan Ct
Unit A
Bozeman, MT 59715

    8923 Ravenna Ave NE
Seattle, WA 98115


我想要的結果是在右端第二個“”之前,即城市名稱之前的所有內容。 我不用擔心結果字符串中的左'',盡管沒有它們會更好,因為我以后可以隨時替換它。

結果將是:

    Primary_Address
    3903 NE 45th Street
APT 204
    20504 NE 21st Ct.
    219 W Callender St
    102 Branegan Ct
Unit A
    8923 Ravenna Ave NE

我嘗試了分割功能,但未提供所需的結果。 非常感謝你的幫助。

您可以通過依次定位字符並將字符串長度段加在一起來實現。 我認為這有點hack,最好在數據庫外部的正則表達式中完成。

select left(value,
   len(value) - (charindex(char(10), reverse(value)) + 
   charindex(char(10), substring(reverse(value), charindex(char(10), 
   reverse(value))+1, len(value))))) 
from  
   (select replace(YourField, '
', char(10)) as value from test2) x;

您也可以使用另一個替換項修改外部查詢,以將其余的換行符返回到“
”

暫無
暫無

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

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