我是新來的電源構建器,我試圖使用替換功能。我需要用〜替換字符串中的'ththope('),但它給了我一個錯誤「函數的錯誤參數列表:替換」。在Power Builder嘗試用〜符號替換轉義符
Signature = "Gagandeep S'ingh"
Signature = Replace (Signature , "'", "~'")
請任何幫助。
我是新來的電源構建器,我試圖使用替換功能。我需要用〜替換字符串中的'ththope('),但它給了我一個錯誤「函數的錯誤參數列表:替換」。在Power Builder嘗試用〜符號替換轉義符
Signature = "Gagandeep S'ingh"
Signature = Replace (Signature , "'", "~'")
請任何幫助。
波浪號是一個修改器PowerBuilder中的字符。它具有的第一個功能是表示特殊字符,因此您有用於回車,換行符和製表符的~r, ~n, ~t
。 第二個函數是一個轉義,刪除以下字符的任何特殊含義。這使您可以編寫諸如"~""
之類的內容來創建一個包含引號字符的字符串。在這種情況下,最好寫'"'
,但如果你已經這樣做了,並且想要一個單引號,你必須將其轉義。爲DataWindow創建表達式需要額外的轉義級別,我不會在這裏進入。當你編寫"~'"
時發生的事情是,代字號告訴PowerBuilder將單引號視爲普通字符。無論如何,在這種情況下它會這樣做,因爲它不在單引號字符串中。這就是爲什麼你要替換'與另一個'。如果你想〜'你必須寫"~~'"
。第一個代字號告訴PowerBuilder把下面的代字符作爲一個普通字符,最後以〜'結尾。 PowerBuilder幫助列表~~
是用於代字符的特殊字符,~'
和~"
用於引用字符,但是當您使用多個級別的轉義時,最好將它視爲轉義並從左向右工作。
從PowerBuilder的幫助:
更換的PowerScript功能
替換一個字符串與另一個的一部分。
語法:REPLACE(字符串1,啓動,N,字符串2)
你需要指定你想有多少個字符替換。如果要插入字符串2成字符串1使用0
所以你的榜樣,你應該嘗試類似:
IF POS(Signature, "'") > 0 THEN
Signature = Replace (Signature, POS(Signature, "'"), 1, "~'")
END IF
我已經試過上面的代碼,它不給我一個錯誤,但它也不會取代字符串中的任何字符。 基本上我正在尋找一種方法來替換字符串中的字符。 – user3022426
@ user3022426:如果沒有代碼,很難診斷您的問題。編輯你的問題,並添加你的當前代碼。下面貼出的代碼爲 – Seki
。 – user3022426
這裏是我當前的代碼:
llSigCount = ldsSig.Retrieve(iuQstr.isPtID, iuQstr.ilPtVisitID, iuQstr.ilQstrID, AUTH_EVENT_TYPE)
IF llSigCount > 0 THEN
lsSignature = ldsSig.GetItemString(1, "cf_name_date")
IF POS(Signature, "'") > 0 THEN
Signature = Replace (Signature, POS(Signature, "'"), 1, "~'")
END IF
dw_edit.Modify("auth_signature_t.Text='" + lsSignature + "'")
END IF
您有一個變量「lsSignature」被設置爲cf_name_date中的值,但未在替換中使用。您在替換中使用變量「Signature」。 –
非常感謝。你救了我。 – user3022426
我發現你是新人 - 通常你會將這個答案標記爲正確,以便其他人知道並作爲禮貌回答。 :) –