`

字符串连接,但需要去掉重复部分

阅读更多
比如有两个字符串,上海虹桥、虹桥国际机场,连接起来为上海虹桥国际机场
public static String trimjoinString(String str1,String str2){
		if(str1==null&&str2==null){
			return "";
		}else if(str1!=null&&str2==null){
			return str1;
		}else if(str1==null&&str2!=null){
			return str2;
		}else{
			int repeatTemp = 0,maxRepeat = 0;
			int str1Len = str1.length();
			int str2Len = str2.length();
			int minLen = 0;
			if(str1Len>str2Len){
				minLen = str2Len;
			}else{
				minLen = str1Len;
			}
			for(int i=0;i<minLen;i++){
				repeatTemp = 0;
				for(int k=str1Len-i-1,j=0;k<str1Len&&j<str2Len&&j<=i;k++,j++){
					if(str1.charAt(k)==str2.charAt(j)){
						repeatTemp++;
					}else{
						break;
					}
				}
				if(maxRepeat<repeatTemp){
					maxRepeat = repeatTemp;
				}
			}
			return str1 + str2.substring(maxRepeat);
		}
	}


public static void main(String[] args){
		System.out.println(trimjoinString("上海虹桥","虹桥国际机场"));
		System.out.println(trimjoinString("上海虹桥","上海虹桥国际机场"));
	}
分享到:
评论

相关推荐

    mysql字符串连接函数

    ### MySQL字符串连接函数详解 在处理数据库中的字符串操作时,MySQL提供了多种强大的工具来帮助我们进行数据处理。本文主要介绍几种常用的字符串连接函数,包括`CONCAT()`、`CONCAT_WS()`以及`GROUP_CONCAT()`函数...

    字符串操作封装函数

    在编程领域,字符串操作是日常开发中不可或缺的一部分。标题中的"字符串操作封装函数"指的是将常用的字符串处理功能封装成独立的函数,以便于在代码中重复使用,提高代码的复用性和可读性。这样的做法遵循了软件工程...

    去除重复字符工具_字符_

    标题"去除重复字符工具_字符_"所暗示的是一款专门用于处理字符串中重复字符的工具。这款工具的主要功能是帮助用户快速有效地从输入的文字中去除重复的字符,使得输出的文本只包含唯一的字符。这一特性在很多情况下都...

    c# string操作,去除重复的串

    在这个主题中,我们将深入探讨如何进行C#中的字符串操作,特别是关于去除重复字符串的方法以及字符串连接的相关问题。 ### 1. 去除重复字符串 在C#中,去除字符串中的重复字符或子字符串有多种方法,包括使用...

    java 去除重复字符

    在这个例子中,我们首先将字符串转换为代码点流,然后映射为字符,使用`distinct()`去重,最后通过`joining()`方法将字符连接成字符串。 以上就是使用Java去除字符串重复字符的几种常见方法。每种方法都有其适用...

    字符串拼接工具

    在编程中,字符串拼接通常是通过字符串连接运算符或者使用特定的函数来实现的。例如,在Python中,我们可以使用 "+" 运算符直接连接两个字符串;在JavaScript中,可以使用 "+" 或者模板字符串(`template literals`...

    纯C++ 字符串处理函数大全源码

    在处理字符串时,虽然C++标准库(STL)提供了许多内置的工具,如`std::string`类,但有时我们需要更加定制化的功能。这个"纯C++ 字符串处理函数大全源码"正是为了满足这种需求而设计的,它包含了作者自定义封装的一...

    字符串处理的12个例子

    8. **字符串连接**: `str.join(list)`是将一个字符串列表连接成一个新的字符串,每个元素之间用原始字符串作为连接符。 9. **字符串大小写转换**: `str.lower()`将字符串转换为小写,`str.upper()`转换为大写,...

    java中常用字符串方法总结

    使用`+`运算符或`StringBuilder.append()`可以将多个字符串连接成一个。 8. **查找与替换** `indexOf(String str)`查找子字符串首次出现的位置,`lastIndexOf(String str)`找最后一次出现的位置。`replace(char ...

    字符串操作大全

    8. **分割与合并**:`split()`将字符串按照指定分隔符拆分为列表,`join()`则可以将列表元素用特定字符串连接起来。 9. **大小写转换**:`lower()`、`upper()`、`capitalize()`、`title()`等方法用于大小写的转换。...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册九:字符串

    2. 连接字符串:可以使用`+`运算符或`concat()`方法连接字符串。 3. 字符串切割:`slice()`, `substring()`, `substr()`用于截取字符串,`split()`根据分隔符切割成数组。 4. 查找替换:`indexOf()`查找指定子串首次...

    C++课程设计 —— 字符串操作

    FString类被设计用于封装字符串相关的操作,包括但不限于长度获取、字符串连接、替换、查找等常见功能。该类实现了以下成员函数: - **构造函数**:提供三种不同的构造方式,分别对应无参数构造、通过字符数组构造...

    C#合并一维字符串数组并去重

    在这个例子中,我们使用了逗号和空格作为分隔符,但你可以根据需要选择任何字符或字符串。 接下来,我们讨论如何去重。C#中可以利用`HashSet&lt;T&gt;`集合来高效地去除重复元素,因为`HashSet&lt;T&gt;`不包含重复项。以下是...

    JS实现字符串中去除指定子字符串方法分析

    在这个例子中,我们先用'o'作为分隔符将字符串`str`分割成数组`items`,然后再用空字符串`""`将数组元素连接起来,这样就去除了所有'o'字符。最终得到的新字符串`newStr`是"hell wrld!"。 这两种方法各有特点。`...

    Java 字符串与文本相关实例源码

    - 字符串连接:`+`运算符或`StringBuilder`/`StringBuffer`类。 - 字符串长度:`length()`方法。 - 子串提取:`substring()`方法。 - 查找子串:`indexOf()`,`lastIndexOf()`方法。 - 分割字符串:`split()`...

    SQL Server 将某一列的值拼接成字符串.docx

    不过,需要注意的是,这个子查询的结果末尾会多出一个额外的逗号,所以我们使用CONCAT的第二个参数(一个空字符串)来去掉这个多余的逗号。 除了这两种方法,还可以使用STUFF和FOR XML PATH配合来去除最后的逗号,...

    C++ STL string类 字符串处理函数 第二版

    1. **构造函数**:`string()`用于创建空字符串,`string(const char*)`用于从C风格字符数组构造字符串,`string(size_t n, char c)`创建包含特定数量重复字符的字符串。 2. **访问元素**:`at(index)`安全地访问...

    asp字符串操作类

    1. **字符串拼接**:通常使用`&`或`+`操作符来连接字符串,但类库可能提供一个`concatenate`方法,允许我们更方便地连接多个字符串。 2. **字符串截取**:`substring`或`slice`方法可以用来获取字符串的一部分,...

    C#字符串和正则表达式参考手册.zip

    C#提供丰富的字符串类方法,如`Substring`用于截取子字符串,`Trim`用于去除两端空白,`Replace`用于替换特定字符或子串,`ToLower`和`ToUpper`用于大小写转换,以及`Concat`用于连接字符串等。 #### 字符串操作 1...

Global site tag (gtag.js) - Google Analytics