Java中如何裁剪链接类字符串的指定部分?
Java链接裁剪问题解决方案
你的代码没有生效的核心原因:Java 中的String是不可变类,所有字符串修改类方法的执行结果都会返回新的字符串对象,不会修改原变量指向的内容。你当前的代码只执行了substring裁剪逻辑,但没有将返回的新字符串赋值给变量,所以原变量存储的依旧是完整链接。
另外你期望的结果末尾保留了斜杠,substring遵循左闭右开的取值规则,需要在lastIndexOf返回的索引基础上加1,才能包含最后一个斜杠字符。
基础实现代码
String categoryURL = link; // 接收裁剪后的新字符串,索引+1保留末尾斜杠 categoryURL = categoryURL.substring(0, categoryURL.lastIndexOf("/") + 1);
兼容特殊场景(可选)
如果需要处理原始链接末尾可能存在多余斜杠的情况(例如https://stackoverflow.com/questions/68779331/use-token-to-push-some-codes-to-github/),可以先清理末尾斜杠再执行裁剪:
String categoryURL = link; // 移除末尾所有连续的斜杠 categoryURL = categoryURL.replaceAll("/+$", ""); // 裁剪后补回末尾斜杠 categoryURL = categoryURL.substring(0, categoryURL.lastIndexOf("/") + 1);
内容的提问来源于stack exchange,提问作者knödel
相关产品推荐
相关产品推荐

