java - 有没有一种方法可以切换字符串中的字母?

标签 java string indexing

我需要一种将特定索引中的字母与另一个字母切换的方法。有类似的吗?

像这样:

String word = "test";
String letter = "e";
String secretWord = "????";

查找字母 e 的索引,然后查找 e 是否在单词中。然后换一个“?”基于测试中 e 的索引。

因此,secretWord 的形式为 ?e??

最佳答案

您可以使用正则表达式来搜索和替换任何不是字母的字符:

String word = "test";
String secretWord = word.replaceAll("(?i)[^e]", "?");

您还可以将更多不想替换的字母添加到正则表达式中(这将替换每个非元音):

String secretWord = word.replaceAll("(?i)[^aeiouy]", "?");

正则表达式的解释:

  • (?i) 表示“不区分大小写”。
  • ^ 表示“不”。
  • aeiouy 是我们不想匹配的字符

这是正则表达式替换的演示(仅使用 e):

DEMO

关于java - 有没有一种方法可以切换字符串中的字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14400590/

相关文章:

java - 如何使用 postgresql initdb 创建一个临时数据库?

java - Joda-Time 忽略 en-US 服务器上的语言环境

python - 从末尾开始迭代切片索引(python): how to avoid "-0" to be equal to "0"?

indexing - RavenDB 中的条件补丁请求

java - Hibernate Validator 3.1.0.GA 忽略 ValidationMessages.properties(包括测试项目)

java - 为什么我的数据包没有发送到我的其他 Activity ?

r - 查找一个字符串是否包含在 R 中的另一个字符串中

javascript - 寻找返回字符串一部分的有效方法

java - 检查给定字符串是否与其他两个字符串交错

c++ - 如何解决索引和排序的问题