问题描述
- java题,大神帮忙给个思路
-
请用java描述一种算法,可以判断两个类型为String的英文意思相同,其中意思相同的主要含义是:
1,与大小写无关!
2,与句中标点符号无关3,句子中多个空格和单个空格等价
解决方案
你先用String.trim();去掉空格,然后用replace("标点符号","");去掉标点符号,最后用string.equals(string); 应该可以吧。
解决方案二:
都是调用String对象的api,一种是上面说的,但最后的比较用String.compareToIgnoreCase(string) api 不考虑大小写。
还有一种方法就是将String转化成字符数组。string.toCharArray().然后取值一一进行比较。
解决方案三:
都是调用String对象的api,一种是上面说的,但最后的比较用String.compareToIgnoreCase(string) api 不考虑大小写。
还有一种方法就是将String转化成字符数组。string.toCharArray().然后取值一一进行比较。
解决方案四:
针对于这个问题,对于一个算法,可以从以下几个路径出发。
1,相等,这里是指两个string的完全一样,只是构造时出了问题,那么这肯定是意思相同,那么你要去除空格,大小写等的干扰。
2,不相等,这里就存在重复率的问题,可以考虑切割,切割成单词,然后比较命中数。
3,不相等,这就是指表达的方式不一样,主动式,被动式,这就要专门研究自然语言的人来进行语义结构上的分析了。
时间: 2024-08-07 02:08:31