非ascii值符号未打印

时间:2017-01-17 06:48:14

标签: java regex spring ascii non-ascii-characters

我有一个字符串,其中包含一些字符和符号,其中一些字符和符号有一些ascii代码,而其中一些没有;我已经尝试了以下代码,我可以从中转换字符但不能转换符号

 String strValue = "Ã – string çöntäining nön äsçii çhäräçtérs couldn’t";
        String str = Normalizer.normalize(strValue, Normalizer.Form.NFD);
        System.out.println(str);
        System.out.println( str.replaceAll( "[^\\p{ASCII}]","") );

输出是:

à – string çöntäining nön äsçii çhäräçtérs couldn’t
A  string containing non ascii characters couldnt

我还想从提供的字符串值中获取“--”和“'”。

如果我没有进行规范化,它会将我的字符串转换为

? ? string ??nt?ining n?n ?s?ii ?h?r??t?rs couldn?t 

2 个答案:

答案 0 :(得分:2)

不要用$(function() { $('select[name=type]').change(function() { var $option = $(this).find(":selected"); $(this).closest('.record').find('input[name=hostInput]') .attr('pattern', $option.data('pattern')) .attr('placeholder', $option.data('placeholder')) .attr('title', $option.data('title')); }); });

替换想要的字符
""

输出:

String strValue = "Ã – string çöntäining nön äsçii çhäräçtérs couldn’t";
String str = Normalizer.normalize(strValue, Normalizer.Form.NFD);
System.out.println(str);
System.out.println( str.replaceAll( "[^\\p{ASCII}–’]","") ); // ie. replace not (ascii or – or ’)

演示:https://ideone.com/6zpYao

答案 1 :(得分:0)

如果您希望专门替换这些字符,可以先替换它们。

str = str.replaceAll("’", "'");
str = str.replaceAll("–", "--");
str = str.replaceAll( "[^\\p{ASCII}–’]","");