我有一些酒店包含一些无效的字符,当我想将这些酒店名称作为文件名插入时,因为文件命名不允许 /、* 或 ? 并想知道这个错误意味着什么。
text?text
text?text
text**text**
text*text (text)
text *text*
text?
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 if else 语句,以便如果酒店名称包含任何这些字符,则将它们替换为 -。但是我收到并错误指出悬空?。我只是想检查我是否正确地使用了这些字符的替换。
def hotelNameTrim = hotelName.toString()
if (hotelNameTrim.contains("/"))
{
hotelNameTrim.replaceAll("/", "-")
}
else if (hotelNameTrim.contains("*"))
{
hotelNameTrim.replaceAll("*", "-")
}
else if (hotelNameTrim.contains("?"))
{
hotelNameTrim.replaceAll("?", "-")
}
Run Code Online (Sandbox Code Playgroud)
ReplaceAll 接受正则表达式作为搜索模式。* 和 ?是正则表达式中的特殊字符,需要用反斜杠转义。它本身需要在 Java 字符串中转义:)
尝试这个:
hotelNameTrim.replaceAll("[\\*\\?/]","-")
Run Code Online (Sandbox Code Playgroud)
这将用破折号替换所有字符。
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |