Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除“¼&引用;及½&引用;一串_Java - Fatal编程技术网

Java 如何删除“¼&引用;及½&引用;一串

Java 如何删除“¼&引用;及½&引用;一串,java,Java,我需要从Java中的字符串中删除字符“¼”和“½”。我该怎么做 我不能控制请求,我必须接受输入。基本上,请求字符串包含字符“¼”和“½”,我需要用空字符串替换它们 我试着把它放在一个列表中,但它不起作用: 无效字符添加('½') 然后搜索这个。Jenkins抱怨:编码UTF-8[INFO]2错误的不可映射字符如果您假设字符串是一个变量,您可以这样做 public void asciiReplacer(String str) { String[]tmp= str.split(" "); for(

我需要从Java中的字符串中删除字符“¼”和“½”。我该怎么做

我不能控制请求,我必须接受输入。基本上,请求字符串包含字符“¼”和“½”,我需要用空字符串替换它们

我试着把它放在一个列表中,但它不起作用:

无效字符添加('½')


然后搜索这个。Jenkins抱怨:编码UTF-8[INFO]2错误的不可映射字符

如果您假设字符串是一个变量,您可以这样做

public void asciiReplacer(String str)
{
String[]tmp= str.split(" ");
 for(int i =0; i < temp.length ; i++){
  if(temp[i].equals((char)189)
      temp[i] = " ";
  if(temp[i].equals((char)188)
      temp[i] = " ";
  System.out.println(temp[i]+"\n");
 }
}
public void asciiReplacer(字符串str)
{
字符串[]tmp=str.split(“”);
对于(int i=0;i
从技术上讲,您可以编写:

input = input.replace("\u00BC", "").replace("\u00BD", "");

…但我对您的用例有点怀疑。似乎这无法解决真正的问题。

您是否尝试过
input.replaceAll(“1/2”、“½”)
?听起来你好像在试图解决坏字符编码问题。你应该修复你的系统以使用UTF8。你是说字符串应该显示1/2和1/4,但它显示的是空字符串吗?SLaks:你怎么可能从原始帖子中得到这么少的信息来推断呢?叹气。我已经纠正了。你一定是有头脑了ding skills.你是如何将一个字符分配给一个字符串的?现在你是如何将一个字符串与一个具有相等值的字符进行比较的?谢谢伙计们,看起来Lucarnosky的想法是可行的,但我需要看到,一旦我把它放入svn中,Jenkins构建了它,问题就出现了。谢谢伙计们,它成功了,Jenkins成功地构建了它。这是一种效率很低的方法因为它将搜索两次并分配整个请求字符串两次。正则表达式字符类是一个更好的选择。但是它更简单,谁会关心效率,除非字符串很大。@MarkoTopolnik:搜索两次子字符串,而不是搜索一次正则表达式字符类——要决定哪一个更有效,你必须测试。(正则表达式并不神奇,你知道。
“[\u00BC\u00BD]”
仍然需要将输入字符串的每个字符与两个可能的值进行比较。)分配字符串两次——通常的正则表达式方法是
input.replaceAll(“[\u00BC\u00BD]”,“”)
,每次都必须创建
模式
匹配器
,以及结果字符串。[续][续]总的来说,由于我的方法涉及复制整个字符串两次,所以在非常大的字符串上可能会表现得稍差一些,但很难确定:复制的数量只相差一个小的常数因子,而线性正则表达式搜索与子字符串搜索的性能至少相差一倍,因此无法事先确定是什么ch one最终会更快。如果我们讨论性能,我自然会假设非平凡的字符串长度。由于缓存未命中,两次检查毫无疑问效率较低。此外,我假设预编译的正则表达式。我以前已经测试过这些东西,差异是真实的。