如何摆脱' \ u0002' \#39; \ r \ n'和' \ u0003'从字符串?

时间:2015-11-09 19:43:06

标签: elixir phoenix-framework

如何删除字符串以获得干净7A005AFA518B?现在在init上它返回bitstring并且看起来条带不起作用。我尝试使用模式匹配从开始文本unicode获取字符串" \ u0002"结束" \ u0003"剥离,但没有成功。

str = "\u00027A005AFA518B\r\n\u0003"
String.codepoints(String.strip(str))
[<<2>>, "7", "A", "0", "0", "5", "A", "F", "A", "5", "1", "8", "B", "\r", "\n",
 <<3>>]

我发现String.split(str, "\r\n")做了这个工作,但也许它更干净了?

4 个答案:

答案 0 :(得分:3)

默认情况下,

String.stripString.lstripString.rstrip会删除空格,但会将char代码作为第二个参数。 \u0002(文字开头)和\u0003(文字结尾)字符的代码分别为23。所以你可以这样做,同时保留unicode字符等:

str = "\u00027A005AFA518B\r\n\u0003"

str |> String.lstrip(2) |> String.rstrip(3) |> String.strip
#=> "7A005AFA518B"

答案 1 :(得分:2)

var userDateEntry = document.getElementById('inputID').value;

像获得清晰字符串的解决方案

答案 2 :(得分:1)

您是否尝试过replace功能:

IO.puts String.replace(String.replace(str,"\u0003",""),"\u0002","")

答案 3 :(得分:-1)

你可以使用org.apache.commons.lang3.StringUtils.trim(String str)