Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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_String_Replaceall - Fatal编程技术网

Java 如何更换角括号串

Java 如何更换角括号串,java,string,replaceall,Java,String,Replaceall,我需要将所有看起来像{\'\I}的字符串替换为I 我已经读过了 所以我试过了 String word = "something{\\\'\\\i}".replaceAll("\\\\{\\\'\\\i}", "DONE"); 但是不行,有人能帮我吗 我认为你必须使用 String word = "yourtexthere" String newWord = word.replaceAll("{\'\i}", "i"); replaceAll需要正则表达式。与其尝试正确使用正则表达式,不如使用

我需要将所有看起来像
{\'\I}
的字符串替换为
I

我已经读过了

所以我试过了

String word = "something{\\\'\\\i}".replaceAll("\\\\{\\\'\\\i}", "DONE");

但是不行,有人能帮我吗

我认为你必须使用

String word = "yourtexthere"
String newWord = word.replaceAll("{\'\i}", "i");

replaceAll
需要正则表达式。与其尝试正确使用正则表达式,不如使用

试试这个:

final String a = "text{\\'\\i}";
System.out.println(a);
System.out.println(a.replace("{\\'\\i}", "i"));

您只需使用replace函数而不是replaceAll,因为最后一个函数需要一个regex作为参数,例如:

String word = "something{\\'\\i}".replace("{\\'\\i}", "'i' /* or i */");

\
必须在java中转义,这就是为什么我们有
\

因为
replaceAll
使用正则表达式,所以需要转义所有相关字符(
{}\
),如下所示

"something{\\'\\i}".replaceAll("\\{\\\\'\\\\i\\}", "i");
之所以使用
\\\
,是因为您首先在Java字符串中转义
\
,然后在正则表达式中转义以匹配文本
\


<script>
    word = "{\'\i}";
    a = word.replace("{"," "");
    a = a.replace("}", "");
    a = a.replace("'", "");

</script>
word=“{\'\i}”; a=单词。替换(“{”,即“”); a=a.replace(“}”和“); a=a.替换(“”,”);
只需使用要替换的角色创建另一个规则。
这不是一个很好的解决方案,但它是最“干净”的。

为什么您要替换一个与您在原始字符串中定义的字符串不同的字符串?不知道您的意思^^。使用word.replaceAll(%WhatyYouwantReplace%,%WhatTitShouldBe%)。如果您想替换所有的“{”,请使用:word.replaceAll(“{”,“i”)例如,好的,你是对的,谢谢,但是如果我需要全部替换它们?它只是文本的一部分…所以我需要询问它是否仍然包含并再次“替换”,直到它不包含为止?
replace
会替换所有出现的文本。这会替换所有其他内容,比如说
{1}
,的任何其他实例,,等等。它不是想象中最“干净”的,它迟早会出错。这只会替换他想要的任何字符。只要为每个字符创建一个规则……如果初始字符串是{1}输出将是1,这是我们想要的,或者至少我想,但他不想删除所有这些字符没有其他限制,他想删除这些字符,如果他们在“代码< i>代码>。您的代码将有一定的副作用在一定条件下;例如,考虑(任意选择)字符串
“{x}你好”{\'\i}”
-您的解决方案会导致
“x hello\\i”
,所需的结果是
“{x}你好”
。请注意,您的解决方案甚至不会删除反斜杠。
<script>
    word = "{\'\i}";
    a = word.replace("{"," "");
    a = a.replace("}", "");
    a = a.replace("'", "");

</script>