最近做的一个程序,客户端是使用条形码扫描枪,读取到数据后,要根据规则跳转到对应的网址。
在调试的时候发现,跳转地址时会出现错误,观察地址格式,发现多出来几个特殊的字符%0D%0A
找了一下原因,这是因为扫描枪传递过来的数据,尾部带有回车换行符(\r\n)所导致的,浏览器在做导航的时候,会自动将其编码为%0D%0A.
所以解决方法就是,使用正则表达式 \S+ 这样的规则,只提取数据中的字符,而不包含换行符之类的。