如何从字符串中删除 '\u0002'、'\r\n' 和 '\u0003'?
How to get rid of '\u0002', '\r\n', and '\u0003' from string?
如何剥离字符串以获得干净7A005AFA518B
?现在初始化它 returns 位串,似乎 strip 对它不起作用。我尝试使用模式匹配从起始文本 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")
做这项工作,但也许它是更清洁的方式?
您可以使用 org.apache.commons.lang3.StringUtils.trim(String str)
Enum.filter(to_char_list(str), &(&1 > 32 && &1 < 122))
喜欢一个解决方案来获得清晰的字符串
你试过replace函数了吗:
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"
如何剥离字符串以获得干净7A005AFA518B
?现在初始化它 returns 位串,似乎 strip 对它不起作用。我尝试使用模式匹配从起始文本 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")
做这项工作,但也许它是更清洁的方式?
您可以使用 org.apache.commons.lang3.StringUtils.trim(String str)
Enum.filter(to_char_list(str), &(&1 > 32 && &1 < 122))
喜欢一个解决方案来获得清晰的字符串
你试过replace函数了吗:
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"