【问题标题】:How to replace backward slash to forward slash using java?如何使用java将反斜杠替换为正斜杠?
【发布时间】:2011-10-11 21:54:11
【问题描述】:

我正在将 CSV 文件导入 MySQL 数据库。这可以使用java.mysql 支持文件路径中的正斜杠来完成。如果用户给出路径

c:\upload\date\csv\sample.csv

MySQL 不支持这种类型的路径模式。我想在路径中搜索反斜杠并用正斜杠替换它们,以给出:

  c:/upload/date/csv/sample.csv

这是怎么做到的?

【问题讨论】:

    标签: java regex


    【解决方案1】:

    在java中,使用这个:

    str = str.replace("\\", "/");
    

    注意这里不需要replace的正则版本,即replaceAll(); replace() 仍然会替换所有出现的搜索词,但它会搜索 literal 字符串,而不是正则表达式匹配。

    【讨论】:

    • 如何像str=str.replace("\","//"); 做上面的逆向操作
    • @srinivasgowda 如果您想用反斜杠替换正斜杠,只需交换参数:str = str.replace("/", "\\");
    • 禁止单反斜杠()到双正斜杠(//)
    • @sri str = str.replace("\\", "//");
    • 如何全局替换
    【解决方案2】:

    如果你有:

    String s = "c:\\upload\\date\\csv\\sample.csv";

    在 Java 中,您可以使用:

    s = s.replace("\\", "/");

    这将使 s 等于:

    c:/upload/date/csv/sample.csv

    【讨论】:

    • 你需要转义反斜杠。
    【解决方案3】:

    @PaulPRO 和 @Bohemian 提供的 String.replace(CharSequence, CharSequence) 示例可以工作,但最好使用 String.replace(char, char) 版本。稍微快一点。虽然您不会有明显的速度差异,但最好尽可能进行此类优化。

    String replacedStr = str.replace('\\', '/');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-27
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2022-11-25
      • 1970-01-01
      相关资源
      最近更新 更多