2017-05-26 69 views
0

我想使用多线textview将使用Github API来获取内容的Android应用程序。但github回应base64编码。这种响应中的一个的例子是:如何从base64响应Github API中删除' n'?

cGFja2FnZSBTZWFyY2hpbmc7CgovKioKICogQ3JlYXRlZCBieSBuaWt1bmog \ nb24gMTIvNS8xNy4KICovCnB1YmxpYyBjbGFzcyBFeHBvbmVudGlhbF9TZWFy \ nY2ggewogICAgcHVibGljIHN0YXRpYyBpbnQgRXhwb25lbnRpYWxfU2VhcmNo \ nKGludCBhW10saW50ICBiKQogICAgewogICAgICAgICAgICBpZihhWzBdPT1i \ nKXJldHVybiAwOwogICAgICAgICAgICBpbnQgcG9zPTE7CiAgICAgICAgICAg \ nIHdoaWxlKHBvczxhLmxlbmd0aCYmYVtwb3NdPGIpCiAgICAgICAgICAgIHsK \ nICAgICAgICAgICAgICAgIHBvcyo9MjsKCiAgICAgICAgICAgIH0KICAgICAg \ nICAgICAgcmV0dXJuIEJpbmFyeV9TZWFyY2goYSxwb3MvMixwb3MsYik7CiAg \ nICB9CiAgICBwdWJsaWMgc3RhdGljIGludCBCaW5hcnlfU2VhcmNoKGludCBh \ nW10saW50IGxvd2VyX2JvdW5kLGludCB1cHBlcl9ib3VuZCxpbnQgYikKICAg \ nIHsKICAgICAgICBpbnQgbWlkOwogICAgICAgIHdoaWxlKGxvd2VyX2JvdW5k \ nPD11cHBlcl9ib3VuZCkKICAgICAgICB7CiAgICAgICAgICAgIG1pZD1sb3dl \ ncl9ib3VuZCsodXBwZXJfYm91bmQtbG93ZXJfYm91b mQpLzI7CiAgICAgICAg \ nICAgIGlmKGFbbWlkXT09YilyZXR1cm4gbWlkOwogICAgICAgICAgICBlbHNl \ nIGlmKGFbbWlkXT5iKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1 \ ncHBlcl9ib3VuZD1taWQtMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBl \ nbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxvd2VyX2JvdW5k \ nPW1pZCsxOwoKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0 \ ndXJuIC0xOwogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3Ry \ naW5nIGFzW10pewogICAgICAgICAgICBpbnQgYVtdPXsxLDIsMyw0LDU2LDc4 \ nLDk5fTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKEV4cG9uZW50 \ naWFsX1NlYXJjaChhLDU2KSk7CiAgICB9Cn0K \ n

现在,每当我试图解码此,发生是由于在间 “\ n” 个的存在错误。我尝试了很多方法删除\ n但没有解决。其中一些是:

  • s = s.replaceAll(“[\ r \ n] +”,“”);
  • s = s.trim()。replaceAll(“[\ n] {2,}”,“”);
  • s = s.replace(“\ n”,“”);

解码这些代码后,输出为:

enter image description here

请帮我Github上解码编码的内容。

+0

可以返回使用[媒体类型] HTTPS的原始内容(://显影剂.github.com/v3/media /)原始的,如果你不想分析内容。 – osowskit

回答

0

要删除的文字\n你可以使用正则表达式旁边:

(\\n) 

():说你必须匹配所有东西正好包含内部。

\\:与字符一致\

n:巧合与字符n

实施例的正则表达式:Link Regex101