㈠ java,给一个字符串,筛选出里面的字母,剔除其他的
^你可以用replaceAll删除非英文字母的字母String b = a.replaceAll("[^a-zA-Z]", "");
关键在于你的正则表达式怎么写,具体你查版查,我上面的表达式,不权一定正确,没验证过
㈡ java开发中如何把字符串中的相同字符替换为不同的字符或字符串
Stringstr="aa?专aa?aaaaaaa?aaaaaaaa?aaaaa?aaaaaa?aa";
属 StringdestStr="";
Stringss[]=str.split("?");
for(inti=0;i<ss.length;i++){
if(i%2==1){
destStr=destStr+ss[i]+">>";
}elseif(i!=ss.length-1){
destStr=destStr+ss[i]+"<<";
}
}
System.out.println(destStr);
㈢ java 字符串过滤
packagetest;
importjava.util.HashMap;
/**
*maxLength-需要过滤最长字符串的长度
*filterStrs<string,string>-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要过滤掉*的数量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被过滤得字符串
*s-需要过滤得字符串
*获得剩下未过滤的字符串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被过滤得字符串
*s-需要过滤得字符串
*获得过滤后的字符串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被过滤的字符串
*过滤,并组合过滤后的字符串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}
㈣ java 字符串数组如何去掉相同元素
public static void main(String[] args) {
String[] a={"aabccc","bbdf","ddeeg"};
String[] result=new String[a.length];
Set<String> uniqChar = new HashSet<String>();
Map<String, Integer> timeMap = new HashMap<String, Integer>();
//使用set存放出现的所有字母
for(String aa:a){
for(int j=0;j<aa.length();j++){
if(!.contains(aa.charAt(j))){
uniqChar.add(aa.charAt(j)+"");
}
}
}
//使用map记录每个字母在多少个字符串中出现
for(String s:uniqChar){
int times = 0;
for(String aa:a){
if(aa.contains(s)){
times++;
}
}
timeMap.put(s, times);
}
//过滤掉出现次数大于1次的字母
for(String key:timeMap.keySet()){
//System.out.println("key:"+key);
if(timeMap.get(key) > 1){
//System.out.println("big than one key:"+key);
for(int i=0;i<a.length;i++){
a[i] = a[i].replace(key,"");
}
}
}
System.out.println(timeMap);
for(String aa:a){
System.out.print(aa);
}
}
㈤ java中如何提取多个字符串相同的字符
实现思路:就是拿一个字符串中的单个字符内容,循环和另为一个字符串中的字符比较,之后输出结果。方法举例:
public static String test(String str1,String str2)
{
String s="";
for(int i=0;i<str1.length();i++)//获取第一个字符串中的单个字符
for(int j=0;j<str2.length();j++)//获取第er个字符串中的单个字符
{
if(str1.charAt(i)==str2.charAt(j))//判断字符是否相同
s=s+str1.charAt(i);
}
return s;
}
㈥ 用java找出两个字符串中的相同的字符
不是找相同的字符串吧?如果是找字符串的话有点麻烦,但是只是要找相同的字符就很简单了。
要代码?我只写思路可以不?
建立两个或者是一个map映射。
这里用两个数组。
int[100]count;
char
[100]c;//储存所有的字符,如果不够就将他简单一点,但是上面的count也必须和c一般大小。
//初始化两个数组,count数组全为0,c数组为所有能出现在字符串中的字符。例如c[0]='a';count[0]=0;
//然后将两个字符串处理成两个字符数组,也可以不处理,但是一定要能直接遍历每一个字符。
//遍历第一个字符串,将出现的字符其所对应在count数组处的数据修改为1,如第一个字符串有'a',
//那么count[0]=1;
//遍历第二个字符串,同样将出现的字符在count数组所对应的位置的数据修改为"如果之前为1,则修改为2
//如果之前不为1,则不变"。
//然后遍历count数组,找出所有数值为2的,其所对应的c数组处所对应的字符便是两个字符串中相同的字符
//如在第二字符串中也出现了'a',并且count[0]==1,那么修改count[0]=2;这样在遍历count时,count[0]==2,
//则c[0]是两字符串中相同的字符,也就是说'a'同时出现在了两个字符串。
----------上面没有写代码,但是将所有的顺序都写出来了,希望你能看懂。
㈦ java取两个字符串中的相同字符
实现思路:就是拿一个抄字符串中的单个字符内容,循环和另为一个字符串中的字符比较,之后输出结果。方法举例:
public static String test(String str1,String str2)
{
String s="";
for(int i=0;i<str1.length();i++)//获取第一个字符串中的单个字符
for(int j=0;j<str2.length();j++)//获取第er个字符串中的单个字符
{
if(str1.charAt(i)==str2.charAt(j))//判断字符是否相同
s=s+str1.charAt(i);
}
return s;
}
㈧ java如何去掉字符串中重复的字符
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
importjava.util.List;
importjava.util.Scanner;
publicclassDeleteRepeated{
privateStringstr;
privateTreeSet<String>noReapted;//带有String类型的TreeSet泛型
publicDeleteRepeated(){
Scannerin=newScanner(System.in);
System.out.println("输入一个字符串:");
str=in.nextLine();
noReapted=newTreeSet();
}
//清楚重复的数据
publicvoidremoveRepeated(){
for(inti=0;i<str.length();i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型所以先加一个""空格,转换成String型
//TreeSet泛型能保证重复的不加入,而且有序
}
str="";
for(Stringindex:noReapted){
str+=index;
}
//输出
System.out.println(str);
}
publicstaticvoidmain(String[]args){
DeleteRepeateddr=newDeleteRepeated();
dr.removeRepeated();
}
}
运行截图:
希望能帮助你哈
㈨ JAVA中如何过滤字符串里面特殊字符
class test
{
public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}
㈩ java中怎样可以找出字符串中有几个相同的字符
代码如下,我测试过了。。。。希望满足你的要求
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test
{
public static void main(String[] args){
String s1 = "AABBC";
String s2 = "ABBCC";
List<String> sub1 = new ArrayList<String>();//保存s1的子串
List<String> sub2 = new ArrayList<String>();//保存s2的子串
Set<String> result = new HashSet<String>();//保存相同的子串
//求s1的子串
for(int i = 1;i<s1.length();i++){
for(int j = 0;j<=s1.length()-i;j++){
sub1.add(s1.substring(j,j+i));
}
}
//求s2的子串
for(int i = 1;i<s2.length();i++){
for(int j = 0;j<=s2.length()-i;j++){
sub2.add(s2.substring(j,j+i));
}
}
System.out.println("\"AABBC\"的子串 : " + sub1);
System.out.println("\"ABBCC\"的子串 : " + sub2);
for(String s: sub1)
if(sub2.contains(s))
result.add(s);
for(String s: sub2)
if(sub1.contains(s))
result.add(s);
System.out.println("相同的子串 : " + result);
}
}
希望能帮到你。。。。仍有问题可以HI我。。。。。