在Java中用字符代码替换字符串

在Java中用字符代码替换字符串,java,string,Java,String,无法理解如何在Java中用字符替换字符串。我想要一个这样的函数: replace(string, char) 但是Java中没有这样的函数 String str = str.replace("word", '\u0082'); String str = str.replace("word", (char)130); 如何进行此操作?使用一个长度恰好只有一个字符的字符串作为替换: String original = "words"; String replaced = orig

无法理解如何在Java中用字符替换字符串。我想要一个这样的函数:

replace(string, char)
但是Java中没有这样的函数

String    str = str.replace("word",  '\u0082');
String    str = str.replace("word",  (char)130);

如何进行此操作?

使用一个长度恰好只有一个字符的字符串作为替换:

String original = "words";
String replaced = original.replace("word", "\u0130");
替换的
实例将相当于“İs”

还请注意,从您的问题来看,
'\u0130'
(char)130
不是相同的字符。
\u
语法使用十六进制,而您的cast使用十进制表示法。

您要求在Java中使用
函数
,您可以像这样创建
方法

public static String replace (String text, char old, char n){
    return text.replace(old, n);
}
String a = replace("aes", "es", "rmy");
然后您可以根据需要调用此
方法

String a = replace("ae", 'e', '3');
在这种情况下,
方法
将返回一个
字符串
,其中
a3
作为值,但您不仅可以用另一个字符替换
字符
,还可以用相同的方式将
字符串
替换为多个字符

public static String replace (String text, String old, String n){
    return text.replace(old, n);
}
然后你像这样调用这个
方法

public static String replace (String text, char old, char n){
    return text.replace(old, n);
}
String a = replace("aes", "es", "rmy");
结果将是一个
字符串
,其中
陆军
作为值

非常简单:

String orginal = "asdf";
char replacement = 'z';
orginal = original.replace(original, replacement+"");
“字符串是一个字符序列”

最简单的方法是:

"value_".replace("_",String.valueOf((char)58 )); //return "value:"
编辑:

因为我们想要使用代码而不是字符,所以我们必须将代码传递给字符

另一个需要解决的问题是方法“replace”不接受(字符串x,字符y)

因此,我们通过以下方式将字符传递给字符串:

String.valueOf((char)58) //this is a String like this ":"


最后,我们将替换int code中的字符串。

为什么不将
char
作为字符串呢?示例:
str.replace(“word”,“+”\u0130”)@40爱,詹姆斯·泰勒是对的。您可以执行将字符转换为字符串的任务。或者,如果您有特殊要求,请让我知道您的用例。这将适用于此特定实例,但如果他希望重新使用此代码,并且可能不知道将替换哪个字符,则此操作将失败。Oops。感谢关于十六进制的注释。如果OP想要使用的每个地方都是字符文字,那么它就可以工作。由于大多数来自用户和数据库的输入都将以字符串的形式出现,所以这种假设并非完全不可能。如果替换是硬编码的文本,我觉得Java API提供的String方法比在某个实用程序类中创建新方法更可取。但是为什么不选择传入原始字符串作为第一个参数呢?这不总是安全的吗?@MatthewC我没有传入原始字符串,因为我的假设是OP想要替换原始字符串的一部分,而不是整个值。在我的示例中,子字符串
“word”
被替换为一个字符,剩下的字符将被单独保留。我不打算在这个时候编辑我的文章,因为我没有什么要补充的。感谢您考虑更改您的投票;下次,请不要这么快否决其他可能有用的答案,即使你认为它们并不完美。这不会取代整个字符串。正如Oracle文档中所说:“replace:返回一个新字符串,该字符串是将该字符串中所有出现的oldChar替换为newChar后生成的。”我相信他要求的是一个用字符替换字符串的方法。不使用其他字符替换字符串中的某些字符。我现在看到,您的第一位代码将使用新的整个字符串替换整个字符串。但是,我相信它看起来被两个+“”混淆了。是的,这将替换第二个参数中的
char
的所有出现,替换第三个参数中的新出现,如果他想用整个“字符串”替换一个“char”,那么不需要“方法”,只需要一个赋值就可以了,即:
String a='a'+'
:)正确,但如果他想经常这样做呢?他希望遵循良好的编程实践,创建一种方法来清理代码。使用第二种
方法
他可以执行与第二个参数完全相同的设置,即原始
字符串
长度为1的
字符串
,即:
字符串a=“aes”;a=替换(a,a,“e”)
,结果将是一个
字符串
,其值为
e
,这样他就不会失去
方法的原始功能
此方法不起任何作用;调用者仍然有未更改的
原始
字符串。你完全正确,我把其他编程语言中的代码放错了地方:p它现在已修复:)如果这是OP真正想要做的,那么这些“干净”的代码怎么能比简单的
原始=”“+替换更干净没有助手方法?这就是为什么我将其更改为。除了Java API中不存在
String.replace(String,char)
之外。男孩和女孩
s.replace(s,foo)
是一种复杂的书写方式
foo
。当与子字符串一起使用时,使用String replace方法是有意义的。虽然此代码可以回答这个问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。