/*
* 文 件 名: StringCombin.java
* 版 权:
* 描 述: <描述>
* 修 改 人: hpli/025415
* 修改时间: 2011-6-11
* 跟踪单号: <跟踪单号>
* 修改单号: <修改单号>
* 修改内容: <修改内容>
*/
package com.util;
/**
* 去掉重复字符串 例如12342343454565678789->123456789
*
*
* @author hpli/025415
* @version [版本号, 2011-6-11]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class StringCombin
{
public static String fatherString = "";
public static String getString(String str)
{
String stmp = "";
int i;
c: for (i = fatherString.length(); i < str.length(); i++)
{
if (fatherString.contains(String.valueOf(str.charAt(i))))
{
int origin = i;
int j;
if (i == str.length() - 1)
{
String tempString = str.substring(str.length() - 2);
if (!fatherString.contains(tempString))
fatherString += tempString;
break;
}
else if (i == str.length())
{
fatherString += str.substring(str.length() - 1);
break;
}
for (j = origin + 1; j < str.length(); j++)
{
String innString = str.substring(origin, j);
if (fatherString.contains(innString))
{
}
else
{
if (j - origin > 2)
{
StringBuffer sb = new StringBuffer(str);
stmp = sb.delete(origin, j - 1).toString();
fatherString = "";
break c;
}
else
{
stmp = str;
fatherString = fatherString
+ str.substring(origin, j - 1);
break;
}
}
}
}
else
{
fatherString = fatherString + String.valueOf(str.charAt(i));
}
}
if (i == str.length())
{
return fatherString;
}
System.out.println(stmp + "_" + fatherString);
return getString(stmp);
}
public static void main(String[] args)
{
String str = "12342343454565678789a";
System.err.println(getString(str));
}
}
方案二:
/**
* 去掉重复字符串并排序 例如12342343454565678789->123456789
*
* @author hpli/025415
* @version [版本号, 2012-5-28]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class StringCombin{
public static String temp = "";
public static List<String> list = new ArrayList<String>();
public static void getStr(String str) {
for (int i = 0; i < str.length(); i++) {
if (!temp.contains(String.valueOf(str.charAt(i)))) {
temp += String.valueOf(str.charAt(i));
list.add(String.valueOf(str.charAt(i)));
}
}
Collections.sort(list);
}
public static void main(String[] args) {
String str = "12933215488485452151adfjksadfkcccvcdsfsdfsdfsd";
getStr(str);
String temp = "";
for (int i = 0; i < list.size(); i++) {
temp += list.get(i);
}
System.err.println(temp);
}
}
分享到:
相关推荐
trim:去掉字符串前后的空白字符 下面是集合的常用内建函数 size:获取序列中元素的个数 下面是数字值的常用内建函数 int:取得数字的整数部分,结果带符号 例如: <#assign test="Tom & Jerry"> ${test?html} $...
1124 重新实现dao里面的检查字符串长度的计算方式 1359 项目导入bug的时候,自动计算模块 1199 linux一键安装包的控制脚本初始化对xampp变量的设置 1434 调整产品各个操作的界面。 1347 一键安装包首页居中对齐。 ...
LeetCode判断字符串是否循环 LeetCode 创建一个字典,判断字典里是否含有target-nums[i] 主要是对迭代器的考察 定义滑动窗口,窗口内不需要再过一遍 类似分治法对两个序列进行排序 方法1:暴力循环,时间复杂度高 n^...
varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
Trim 函数 返回去掉前导空格或末尾空格的字符串副本。 三态常数 在代码中使用,以便表示每个显示的值。 True 其值为 -1 的关键字。 TypeName 函数 返回一字符串,它提供了关于变量的变体子类型信息。 UBound ...
--(将sal的查询结果转化为字符串,与ename连接到一起,相当于Java中的字符串连接) 7、select ename||'afasjkj' from emp; --字符串的连接 8、select distinct deptno from emp; --消除deptno字段重复的值 9、...
Trim 函数 返回去掉前导空格或末尾空格的字符串副本。 三态常数 在代码中使用,以便表示每个显示的值。 True 其值为 -1 的关键字。 TypeName 函数 返回一字符串,它提供了关于变量的变体子类型信息。 UBound ...
Trim 函数 返回去掉前导空格或末尾空格的字符串副本。 三态常数 在代码中使用,以便表示每个显示的值。 True 其值为 -1 的关键字。 TypeName 函数 返回一字符串,它提供了关于变量的变体子类型信息。 UBound ...
Trim 函数 返回去掉前导空格或末尾空格的字符串副本。 三态常数 在代码中使用,以便表示每个显示的值。 True 其值为 -1 的关键字。 TypeName 函数 返回一字符串,它提供了关于变量的变体子类型信息。 UBound ...
Trim 函数 返回去掉前导空格或末尾空格的字符串副本。 三态常数 在代码中使用,以便表示每个显示的值。 True 其值为 -1 的关键字。 TypeName 函数 返回一字符串,它提供了关于变量的变体子类型信息。 UBound ...
-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的...
-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的...
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被...
可以生成含重复值与不含重复值并可选是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将...
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符...
可以生成含重复值与不含重复值并可选是否排序的连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将...
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为(2^16-1)个字符。 6...
list去重并检查不包含重复数据 ${listnew} Remove Duplicates ${list} List Should Not Contain Duplicates ${listnew} 在log中会打印出来去掉了⼏个重复数据: 20201015 18:46:47.647 : INFO : 1 duplicate removed...
“字符串”表示指定用来匹配的字符串,该字符串必须加单引号或双引号。 通配符: % 任意字符 [sql] view plain copy select * from STUDENT where STU_NAME LIKE '%王'; 表示匹配任何以王结尾的 [sql] view ...
* @param base 以该字符串作为基础字符串,进行选择性组合。 * @param buff 所求字符串的临时结果 * @param result 存放所求结果 */ public static List<String> list(String base,String buff){ List...