gpt4 book ai didi

java - 无法使用 JAVA 拆分具有 '\' 字符的字符串

转载 作者:行者123 更新时间:2023-11-30 06:16:21 25 4
gpt4 key购买 nike

我正在尝试使用 JAVA 程序在 Windows 系统中重新创建一个文件夹结构。我正在从另一个系统获取预期的文件路径作为我的 java 程序中的字符串参数,并且我应该拆分文件路径字符串以识别每个级别的文件夹名称。'\'(Windows 系统中文件路径字符串的一部分)与字符串中的其他合法字符一起使用时表现不同。它与字符串中的以下字符组合并产生不同的结果(产生不同的字符是因为\00 的 ascii 值分别与\和 0 的不同)。

String WindowsFilePath="drivename\folderName1\00000innerFolderName\03thefileName.fileExtension";

可以使用 JAVA 代码将此字符串拆分为

"drivename","folderName1","00000innerFolderName","03thefileName.fileExtension"

有关此问题根本原因的其他信息:

我有一个旧的目录结构,有人在文件系统中创建了名称为“001thImageFolder”“firstImageFolder”等的文件夹。现在,如果我得到一个文件的文件路径,该文件位于以上述方式命名的目录中,文件路径中的“\”会附加文件夹名称的第一个或第一个和第二个字符,并自动转换为转义序列。我想消除这种转义序列转换。

最佳答案

您的字符串中没有反斜杠。

仅转义序列:

  • \f = 换页符
  • \0 = nul char(十六进制零)

但是,如果您确实有反斜杠:

String parts = str.split("\\\\");

注意双双反斜杠;加倍一次以在字符串文字中创建单个反斜杠字符,并加倍再次以在正则表达式中创建文字反斜杠。


我认为您的意图是让字符串文字成为:

String windowsFilePath ="drivename\\folderName1\\00000innerFolderName\\03thefileName.fileExtension";

关于java - 无法使用 JAVA 拆分具有 '\' 字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com