【问题标题】:Replace characters in string without if else替换字符串中的字符而不使用 if else
【发布时间】:2019-04-18 23:13:11
【问题描述】:

在 java 中有一种方法可以在整个文本中用另一个特殊字符替换特定的特殊字符而不使用 if else 。

例如:

String s = abcd&c!&%^ .

& 替换为~

将上述示例字符串中的! 替换为¬ 等。

【问题讨论】:

标签: java


【解决方案1】:

String有替换功能,所以可以s = s.replace('&','~');

public String replace(char oldChar, char newChar)

返回一个新字符串,该字符串是用 newChar 替换此字符串中所有出现的 oldChar。

如果字符 oldChar 没有出现在此 String 对象表示的字符序列中,则返回对该 String 对象的引用。否则,将创建一个新的 String 对象,该对象表示与此 String 对象所表示的字符序列相同的字符序列,除了 oldChar 的每次出现都被 newChar 的出现替换。

【讨论】:

  • 这适用于一个特殊字符替换。如何扫描字符串中的全部内容并根据条件将每个特殊字符替换为另一个特殊字符,如果存在特殊字符 A 然后替换为 B.如果存在 C然后替换为 D ...?
  • 只需像这样多次调用替换:s = s.replace('A','B').replace('C','D');
  • 条件检查?仅在存在特定字符时替换。如果要替换 50 个字符,我不想使用 50 个 if 语句。
  • 为什么需要 if 语句?当您这样做s = s.replace('A','B'); 时,如果您的字符串中没有“A”,则不会有任何内容被替换。 s 将保持不变。
【解决方案2】:
String.replace​(char oldChar, char newChar);

你可以用字符串做的所有事情:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html

当您使用任何您不知道的 Java 时,我建议您阅读这些文档。比如数组、列表等等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2014-05-20
    • 2018-04-18
    • 1970-01-01
    • 2016-05-15
    相关资源
    最近更新 更多