gpt4 book ai didi

java - 如果字符串具有相同的前缀和后缀,则删除字符串的最后 3 个字符

转载 作者:行者123 更新时间:2023-12-01 19:36:00 25 4
gpt4 key购买 nike

如果字符串具有相同的前缀和后缀,我想删除该字符串的最后 3 个字符。例如:字符串是 "systemsys" ,它应该打印 system 。我正在尝试的输入很少:incgoogleinc 。不适用于此输入

import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.nextLine();
if(str.length() > 3) {
if (str.startsWith(str.substring(0, 3)) == (str.substring(str.length()-3, str.length()-1))) {
System.out.println(str.substring(0, str.length()-3));
} else {
System.out.println(str);
}}}

不适用于不同的输入:mictestingmic , comwebsitecom

最佳答案

if (str.startsWith(str.substring(0, 3)) == (str.substring(str.length()-3, str.length()-1))) {

str.startsWith(str.substring(0, 3)) 返回一个 boolean 值(这恰好总是 true,因为您询问它是否以字符串的开头开头,它是总是如此)。

str.substring(str.length()-3, str.length()-1))

对于“mictestmic”,这将返回“mi”,因为 substring() 使用包含/排除范围。

因此,您的 if 语句的计算结果为:

if (true == "mi") {

相反,只需检查字符串是否以结尾开头:

if (str.startsWith(str.substring(str.length()-3))) {

关于java - 如果字符串具有相同的前缀和后缀,则删除字符串的最后 3 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57512145/

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