gpt4 book ai didi

java - String.endsWith() 不起作用

转载 作者:行者123 更新时间:2023-12-01 06:27:39 26 4
gpt4 key购买 nike

我有以下字符串

http://store.aqa.org.uk/qual/newgcse/pdf/AQA-4695-W-SP.PDF

我想要这样,如果用户忘记输入 http://或 .PDF,程序会自动更正。因此,我尝试了这段代码

if (!str.startsWith("http://")) { // correct forgetting to add 'http://'
str = "http://" + str;
}
System.out.println(str);
if (!str.endsWith("\\Q.PDF\\E")) {
str = str + "\\Q.pdf\\E";
}

但是,即使我输入正确的字符串,http://store.aqa.org.uk/qual/newgcse/pdf/AQA-4695-W-SP.PDF
输出是这样的。

http://store.aqa.org.uk/qual/newgcse/pdf/AQA-4695-W-SP.PDF\Q.pdf\E
为什么?为什么要添加 另一个“.PDF”?

最佳答案

因为http://store.aqa.org.uk/qual/newgcse/pdf/AQA-4695-W-SP.PDF没有\Q.PDF\E 位于末尾。在字符串文字中,\\ 为您提供一个反斜杠。因此,"\\Q.PDF\\E"\Q.PDF\E - 一个反斜杠,后跟一个 Q,然后是一个点,后跟 PDF,再跟另一个反斜杠,最后是 E

如果你想查看字符串是否以.PDF结尾,只需使用

if (!str.endsWith(".PDF"))

当然,这是区分大小写的。如果您希望它不区分大小写,可能是:

if (!str.toLowerCase().endsWith(".pdf"))

关于java - String.endsWith() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13554476/

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