Elixir 如何摆脱'\u0002''\r\n';,和'\u0003';从字符串?
如何剥离字符串以获得清洁Elixir 如何摆脱'\u0002''\r\n';,和'\u0003';从字符串?,elixir,phoenix-framework,Elixir,Phoenix Framework,如何剥离字符串以获得清洁7A005AFA518B?现在在init上,它返回位字符串,似乎strip对它不起作用。我曾尝试使用模式匹配从开始文本unicode“\u0002”到结束文本“\u0003”获取字符串,然后进行strip,但没有成功 str = "\u00027A005AFA518B\r\n\u0003" String.codepoints(String.strip(str)) [<<2>>, "7", "A", "0", "0", "5", "A", "F",
7A005AFA518B
?现在在init上,它返回位字符串,似乎strip对它不起作用。我曾尝试使用模式匹配从开始文本unicode“\u0002”到结束文本“\u0003”获取字符串,然后进行strip,但没有成功
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>>]
str=“\u00027A005AFA518B\r\n\u0003”
String.codepoints(String.strip(str))
[,“7”,“A”,“0”,“0”,“5”,“A”,“F”,“A”,“5”,“1”,“8”,“B”,“r”,“n”,
]
我发现
String.split(str,“\r\n”)
可以做这项工作,但它可能更干净吗?您可以使用org.apache.commons.lang3.StringUtils.trim(String str)Enum.filter(to_char_list(str),&(&1>32&&1<122))
想要获得清晰字符串的解决方案,您是否尝试了以下功能:
IO.puts String.replace(默认情况下String.replace(str,“\u0003”,”,“\u0002”,”)
String.strip
,String.lstrip
和String.rstrip
去除空白,但将char
代码作为第二个参数。\u0002
(文本开头)和\u0003
(文本结尾)字符分别具有代码2
和3
。因此,您可以这样做,同时保留unicode字符等:
str = "\u00027A005AFA518B\r\n\u0003"
str |> String.lstrip(2) |> String.rstrip(3) |> String.strip
#=> "7A005AFA518B"
你在谈论java吗?对不起。我没有注意到OP询问Elixir。请注意,这将丢弃大多数unicode字符。它还返回一个字符列表,而不是字符串。
str = "\u00027A005AFA518B\r\n\u0003"
str |> String.lstrip(2) |> String.rstrip(3) |> String.strip
#=> "7A005AFA518B"