#r #string #encode
Вопрос:
Есть ли в R какой-нибудь простой способ кодировать строки с двойной обратной косой чертой?. Я извлек некоторые данные с веб-сайта и понял, что слова в данных были расшифрованы. Ниже приводится часть данных:
'"option_name":"\uc81c\ud488\uc120\ud0dd#$%\uc0c9\uc0c1"'
Я хочу, чтобы это было:
'"option_name":"제품선택#$%색상"'
Если я вручную заменю двойную обратную косую черту в строке и напечатаю, это будет работать нормально, но я хочу избежать ручной работы с этим. Было бы здорово, если бы кто-нибудь мог помочь мне с этим вопросом?
Ответ №1:
Учитывая приведенный пример, в нем, похоже, нет «двойной обратной косой черты» — возможно, вы имеете в виду двойные кавычки?
В любом случае строка справа от двоеточия написана в Юникоде, поэтому что-то подобное будет кодироваться правильно:
string <- "uc81cud488uc120ud0dd#$%uc0c9uc0c1"
new_string <- enc2utf8(string)
cat(new_string)
"제품선택#$%색상"
Если вы хотите рассматривать весь выбор как одну строку, вы можете заключить его в одинарные кавычки:
string <- '"option_name":"uc81cud488uc120ud0dd#$%uc0c9uc0c1"'
new_string <- enc2utf8(string)
cat(new_string)
"option_name":"제품선택#$%색상"
# to remove the double quotes at the same time:
new_string <- gsub('"', "", enc2utf8(string))
cat(new_string)
option_name:제품선택#$%색상
Комментарии:
1. Огромное спасибо за ваш ответ, но в моей строке есть двойная обратная косая черта. Мой пример строки выглядит следующим образом: строка