㈠ 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我。。。。。