Saya ingin mengganti semua spasi putih yang ada di antara string dengan %20 dalam ekspresi XPath. Tolong beri tahu saya cara melakukannya. Saya mencoba menggunakan normalize-space tetapi ini hanya menghilangkan spasi putih di depan dan di belakang. Tolong bantu.

1
n.path 23 November 2017, 05:52

1 menjawab

Jawaban Terbaik

Saya ingin mengganti semua spasi putih yang ada di antara string dengan %20 dalam ekspresi XPath.

XPath 2.0

Gunakan ganti($s, $pattern, $replacement):

replace(/path/to/it, '\s', '%20')

Atau, seperti yang dicatat oleh Michael Kay, pertimbangkan encode-for-uri($uri-part), yang melakukan penggantian ini antara lain Aturan pelolosan URI (RFC 3986, bagian 2).

XPath 1.0

Anda akan memerlukan bantuan dari bahasa hosting seperti XSLT, Java, C#, Python, dll.


Saya mencoba menggunakan normalize-space tetapi ini hanya menghilangkan spasi putih di depan dan di belakang.

Koreksi: normalize-space() menghilangkan spasi di depan dan di belakang, dan menggabungkan setiap urutan interior karakter spasi menjadi karakter spasi tunggal.

1
kjhughes 24 November 2017, 14:04