gpt4 book ai didi

java - 如何忽略大小写并考虑字母数字字符

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

我正在尝试检查有效的字符串回文。但是,我的设置方式仅在这些行中没有任何特殊字符(例如“,”或“:”或类型)时才有效。

即当我有“nitin”或“nitin nitin”这个词时,这有效,但当我有“nitin,nitin”或“一个人,一个计划,一条运河:巴拿马”时,这不起作用

我是不是做错了什么?

class Solution {
public boolean isPalindrome(String s) {

// ex: string = "nitin"

String newS = s.toUpperCase();

int start = 0;
int end = s.length() - 1;

boolean isPalindrome = true;

while(start < end)
{
if(newS.charAt(start) != newS.charAt(end))
{
isPalindrome = false;
break;
}

start++;
end--;
}

if(isPalindrome)
{
return true;
}
else{
return false;
}

}
}

最佳答案

您可以在检查字符串是否为回文之前删除字符串中的所有非字母数字字符。

例如:

public boolean isPalindrome(String s) {

String alphanumeric = s.replace(',', '');
// ...

这会将nitin, nitin 转化为nitin nitin

但是,这一次只能替换一个字符。您应该查看 replaceAll()方法,您可以使用正则表达式来匹配所有非字母数字。

匹配非字母数字的正则表达式如下所示 [^a-zA-Z0-9]

关于java - 如何忽略大小写并考虑字母数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58938110/

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