我需要一种将特定索引中的字母与另一个字母切换的方法。有什么喜欢的吗?有没有方法来切换字符串中的一个字母?
像这样:
String word = "test";
String letter = "e";
String secretWord = "????";
找到字母e的索引,然后发现如果e字。然后切换一个“?”基于测试中e的索引。
因此,它将为secretWord ?e??
。
我需要一种将特定索引中的字母与另一个字母切换的方法。有什么喜欢的吗?有没有方法来切换字符串中的一个字母?
像这样:
String word = "test";
String letter = "e";
String secretWord = "????";
找到字母e的索引,然后发现如果e字。然后切换一个“?”基于测试中e的索引。
因此,它将为secretWord ?e??
。
string word = "test";
char letter = 'e';
string secretWord = "????";
int index = word.indexOf(letter);
if(index >= 0)
{
secretWord = secretWord.substring(0,index)+letter+secretWord.substring(index + 1);
System.out.println(secretWord);
}
这段代码适用于JAVA ......试试吧
你可以使用正则表达式搜索和替换,是不是letter
任何字符:
String word = "test";
String secretWord = word.replaceAll("(?i)[^e]", "?");
你也可以添加你不想替换成正则表达式(这将替换每个非以上字母-vowel):
String secretWord = word.replaceAll("(?i)[^aeiouy]", "?");
正则表达式的说明:
(?i)
表示“不区分大小写”。^
的意思是“不”。aeiouy
是字符,我们不希望匹配这里的正则表达式替换(只是e
)的演示:
如果您使用的是C#,然后尝试下面的代码..它会帮助你
//Declare
string word = "test";
char letter = 'e';
string secretWord = "????";
if (word.IndexOf("e") != -1)//Find the Char is found or NOT
{
int index = word.IndexOf(letter); //Index of the Char
Console.WriteLine("Index of the Word E :" + word.IndexOf("e").ToString());
StringBuilder sb = new StringBuilder(secretWord);
sb[index] = letter; // Replacing the Char
secretWord = sb.ToString();
Console.WriteLine(secretWord);
}
我想看看这个任务有点不同。我们有一个秘密("test"
)和一种显示方式,如果提供了e
这个字母,结果将会是"????"
或"?e??"
。 ?
的顺序本身不是一个字符串,但会根据需要生成。然后,我们不必替换String中的某些东西(顺便说一句,我们不能这么做,因为字符串是不可变的)。这里的想法写在代码:
public class SecretWord {
private String secret;
public SecretWord(String secret) {
this.secret = secret;
}
public String display(char c) {
if (secret == null) {
return "";
}
StringBuilder displayBuilder = new StringBuilder();
for (char secretChar : secret.toCharArray()) {
displayBuilder.append(secretChar == c ? c : '?');
}
return displayBuilder.toString();
}
}
我没有足够的代表在评论尚未回复,但你可以通过在变量上添加h2ooooo的帖子扩大,使之灵活,也:
String letter = "e";
String secretWord = word.replaceAll("(?i)[^" + letter + "]", "?");
+1,h2ooooo - tidy答案!
西部高地白梗
很抱歉的混乱,我使用Java – user1972601
@ user1972601代码现在应该是在Java中,和现在的工作。 – h2ooooooo