実際には問題はありませんgsub
:
text <- dput("یہ جملہ ایک مثال کے لیے استعمال کیا جا رہا ہے")
"<U+06CC><U+06C1> <U+062C><U+0645><U+0644><U+06C1> <U+0627><U+06CC><U+06A9>
<U+0645><U+062B><U+0627><U+0644> <U+06A9><U+06D2> <U+0644><U+06CC><U+06D2>
<U+0627><U+0633><U+062A><U+0639><U+0645><U+0627><U+0644> <U+06A9><U+06CC>
<U+0627> <U+062C><U+0627> <U+0631><U+06C1><U+0627> <U+06C1><U+06D2>"
pattern <- dput("کیا جا")
"<U+06A9><U+06CC><U+0627> <U+062C><U+0627>"
replaceWith <- dput(paste0("<somemark>", pattern, "</somemark>"))
"<somemark><U+06A9><U+06CC><U+0627> <U+062C><U+0627></somemark>"
dput(gsub(pattern, replaceWith, text))
"<U+06CC><U+06C1> <U+062C><U+0645><U+0644><U+06C1> <U+0627><U+06CC><U+06A9>
<U+0645><U+062B><U+0627><U+0644> <U+06A9><U+06D2> <U+0644><U+06CC><U+06D2>
<U+0627><U+0633><U+062A><U+0639><U+0645><U+0627><U+0644> <somemark><U+06A9>
<U+06CC><U+0627> <U+062C><U+0627></somemark> <U+0631><U+06C1><U+0627>
<U+06C1><U+06D2>"
結果 (右から左と左から右の両方の文字を含む文字列) のレンダリングも、私にとって非常に論理的です。
- 文字列の先頭には右から左の文字が含まれているため、右から左にレンダリングされます
یہ جملہ ایک مثال کے لیے استعمال
- 文字列は左から右の文字で続きます。左から右にレンダリングされ、最後 (以前にレンダリングされたものの左側) に追加されます。
یہ جملہ ایک مثال کے لیے استعمال <somemark>
- 次に、文字列は右から左の文字で続きます。右から左にレンダリングされ、最後に追加されます。
یہ جملہ ایک مثال کے لیے استعمال <somemark>کیا جا
- 文字列は左から右の文字で続きます。左から右にレンダリングされ、最後に追加されます。
یہ جملہ ایک مثال کے لیے استعمال <somemark>کیا جا</somemark>
- 最後に、文字列は右から左の文字で終わります。右から左にレンダリングされ、最後に追加されます。
یہ جملہ ایک مثال کے لیے استعمال <somemark>کیا جا</somemark> رہا ہے
何をレンダリングする必要があるかについてのあなたの考えは、私にはより論理的ではないように思えますが、右から左へのテキストレンダリングの経験がないことを認めなければなりません。
とにかく、書式設定が<b>...</b>
HTML のタグのようにレンダラーによって解釈される必要がある場合、それは完全に機能します (markdown/html で):
یہ جملہ ایک مثال کے لیے استعمال <b>کیا جا</b> رہا ہے
としてレンダリングします
ほぼすべての日付が表示されます。
光沢のあるものは何も印刷できませんでしたが、疑問符はありません。
???? ???????? ?????? ???????? ???? ?????? ?????????????? <somemark>?????? ????</somemark> ?????? ????