我想使用竖条符号" |"在我上一个RegExp中。
我正在使用AngularJS 1.5.7。 $ scope.outputValue是一个数组,我将其转换为字符串,然后实现2个不同的RegExps:
public void cashdrawerOpen(){
String code2 = "1B700096FA"; // my code in hex
FileOutputStream os = null;
try {
os = new FileOutputStream("LPT1:POS-58");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
PrintStream ps = new PrintStream(os);
ps.print(toAscii(code2));
ps.close();
}
public StringBuilder toAscii( String hex ){
StringBuilder output = new StringBuilder();
for (int i = 0; i < hex.length(); i+=2) {
String str = hex.substring(i, i+2);
output.append((char)Integer.parseInt(str, 16));
}
return output;
}
现在,我知道它不是世界上最干净的东西,但最后一个RegExp包括除&#34; |&#34;之外的所有键盘字符。符号。如果没有垂直条,它就能正确完成工作(它会删除字符串中最后一个字符后的任何字符)。例如。这样:
$scope.outputValue = $scope.outputValue.toString();
$scope.outputValue = $scope.outputValue.replace(/,/g, " | ");
$scope.outputValue = $scope
.replace(/[^A-Za-z0-9.+=-_\{\}/\\<>?;:"'`!@#$%^&*()\[\]]*$/, '');
成为这个:
var foo = "The quick brown fox jumps over the lazy dog | \ + ! ?";
问题是,只要我在上一个RegExp中添加垂直条,替换方法就不起作用了。我之前尝试过逃避它,用#34; \&#34;符号,但它也没有用。我也尝试了其他包含所有键盘字符的RegExps,但也没有运气。有没有什么方法可以修改现有的代码,因为它已经为我做了工作,我只需要以某种方式包括垂直条?
谢谢,Nenad