Java替换字符串中的字符,变量中的给定值除外
我需要一些帮助。 因此,任务如下: 创建一个要求输入主要短语的程序。请求保留在短语中的键字符串值。显示原始主短语的版本,其中所有字符都已替换为加号(“+”),但保留不变的键字符串值的外观除外。 样本输出:Java替换字符串中的字符,变量中的给定值除外,java,Java,我需要一些帮助。 因此,任务如下: 创建一个要求输入主要短语的程序。请求保留在短语中的键字符串值。显示原始主短语的版本,其中所有字符都已替换为加号(“+”),但保留不变的键字符串值的外观除外。 样本输出: ------------------------------------------------ Enter main phrase: 12xy34 Enter key string:xy New Version: ++xy++ --------------------------------
------------------------------------------------
Enter main phrase: 12xy34
Enter key string:xy
New Version: ++xy++
------------------------------------------------
Enter main phrase: 12xy34
Enter key string:1
New Version: 1+++++
------------------------------------------------
Enter main phrase: 12xy34xyabcxy
Enter key string:xy
New Version: ++xy++xy+++xy
这是我的密码:
import java.util.*;
public class Corpuz_Kervin
{
public static void main (String [] args)
{
Scanner input = new Scanner (System.in);
String phrase,key= "";
String plus = "+";
System.out.print("Enter main phrase : ");
phrase = input.nextLine();
System.out.print("Enter key string : ");
key = input.nextLine();
for (int i = 0; i < phrase.length(); i++)
{
char x = phrase.charAt(i);
if (x.contains(key))
{
System.out.print(phrase.replace(x),"+");
}
else
{
System.out.print("Error");
}
}
}
}
import java.util.*;
公共级科尔普乌克文
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
字符串短语,key=“”;
字符串plus=“+”;
System.out.print(“输入主短语:”);
短语=input.nextLine();
System.out.print(“输入键字符串:”);
key=input.nextLine();
for(int i=0;i
有人能帮我吗
谢谢为什么不使用replaceAll with not短语,使用这个表达式“?!({your phrase})”
x
是一个字符
,键
是一个字符串
:条件不应该是x.contains(key)
用这个代替你的循环:
System.out.println(phrase.replaceAll("[^" + key + "]", plus));
嗯,那么那里的代码将如何?我将把这个表达式放在哪里?import java.util.*;公共类Corpuz_Kervin{public static void main(String[]args){Scanner input=new Scanner(System.in);字符串短语,key;String plus=“+”;System.out.print(“输入主短语:”;短语=input.next();System.out.print(“输入键字符串:”;key=input.next();for(int i=0;i
^
在[]/code>的内部对字符进行否定。在您的示例中,[^xy]
意味着所有不是大括号中字符的字符都将被替换。这意味着“123xy1y344x”将变为“++xy+y+++x”。这会有问题吗?不,我只是想要那个符号。谢谢你的帮助。这不是完全正确的-它还会将xy=>123y123y”替换为“++y+++y”,这是错误的。字符类模式将匹配短语中的任何字符,而不是整个短语。@SamDufel这是我在评论中写的内容。您应该发布实际输出。更好的方法是使用一个字符串+
符号,并用关键字短语替换某些位置。查找所有偏移在原始字符串中出现的关键短语,并将其添加到一个加号字符串中。