Java中字串中連續相同字元去重
最近參加了一個面試,問到了如何在一個字串中連續相同字元去重,想了想用正則表示式應該可以輕鬆實現。可是由於長時間沒有編碼了,而且由於原先的工作用到的比較少。具體的自己就不會寫正則表示式用到的類名什麼的了。總之就是面試沒有過了。回來再網上搜了搜,本來以為可以很容易找到相應的內容,可是找了半天沒有找到我想要的結果。後來在某個相似問題求助中看到了相應答案,不過還是有所區別,根據該問題的解決思路,最後實現了.
程式碼如下:
public class Test {
public static void main(String[] args) {
String str = "111111kakkkkkkkkkkwwwaacbbdAAA";
String s = "";
int count=0;
Matcher m = Pattern.compile("(\\w)\\1*").matcher(str);
while (m.find()) {
s += m.group().subSequence(0, 1);
}
System.out.println(s);
}
}
超級簡單……
相關推薦
Java中字串中連續相同字元去重
最近參加了一個面試,問到了如何在一個字串中連續相同字元去重,想了想用正則表示式應該可以輕鬆實現。可是由於長時間沒有編碼了,而且由於原先的工作用到的比較少。具體的自己就不會寫正則表示式用到的類名什麼的了。總之就是面試沒有過了。回來再網上搜了搜,本來以為可以很容易找到相應的內容
一道演算法題---把字串內連續相同字元刪除
題目描述: 給定一字串,刪除連續相同的字元,如baiidu刪除後為badu,baiiiau刪除後為bu,baiiabdu刪除後為du。 要做這道題,大家可能第一想法就是找到連續相同字元,然後刪除,把後續字元前移,然後繼續。不斷迭代,直到不再有連續字元為止。這種演算法效率比較
java獲取字串中被兩個字元(串)包含的所有資料
1、程式碼 /** * 描述:獲取字串中被兩個字元(串)包含的所有資料 * @param str 處理字串 * @param start 起始字元(串) * @param end 結束字元(串) * @param i
Java 去除字串中的空白字元
Java 去除字串中的空白字元 通過String的trim()方法只能去掉字串兩端的空格字元,但是對於\t \n等其它空白字元確不能去掉,因此需通過正則表示式,將其中匹配到的空白字元去掉,程式碼如下: 1 2 3 4 5 6 7 8 9 10 11 p
Java 讀取字串中字元的個數
以“aaabbbccsdlfhhk”為例 要求輸出樣式為a(3)b(3)… import java.util.Iterator; import java.util.Map; import java.util.TreeMap; public class Demo
Java將字串中的全形字元轉成對應的半形字元
package com.hung.test; /** * 全形轉半形 * @author hung * */ public class MyQB { /** * @param args */ public static void main(String[] args) {
java獲取字串中第N次出現特定字元的位置
/** * 讀取字串第i次出現特定符號的位置 * @param string * @param i * @return */ public static int getCharacterPosition(String string ,int i,Str
java統計字串中每個字元出現的次數並查詢出現次數最多的字元和次數
mport java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public c
java 判斷字串中 大小寫字母 數字和其他字元個數方法
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import qian.com.PrinTool; //定義一個判斷字串中
java統計字串中單個字元出現的次數
//定義一個類實現介面 class Math implements MathMethod{@Overridepublic Map<String,String> getCountnum(String s){int num=0;List existElement=new ArrayList();//存
Java獲取字串中指定字元的個數
public class Demo6 { public static void main(String[] args) { String s = "javaajavacjavabbjavaeee"
java修改字串中的某個位置字元
方法很多種,先寫一種String item = "1111111111"; char[] status = item.toCharArray(); status[6] = '6'; status[
java 判斷字串中是否有重複字元
/** * 判斷字串是否包含重複字元 * @param str * @return */ public static boolean containRepeatChar(String st
java 判斷字串中是否有重複字元
import numpy as np def checkDifferent(iniString): # write code here a = np.unique(iniString) if (a == iniString): retu
java實現--字串中第一個單獨出現的字元
需求: 給定一個由大寫字母組成的字串,返回第一個單獨出現的字母 分析: 1、思路一 建立HashMap集合,遍歷字串,將各個字母及對應的角標存到集合中,再次遍歷字串,看當前字元對應的角標和HashMap集合中的角標是否相同,如果相同就直接返回,如果不
java去除字串中的特殊符號或指定的字元
String regEx="[\n`[email protected]#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?]"; //可以在中括號內加上任何想要替換的字
Java 判斷字串中()的個數是否相等
import java.util.Scanner; class Zonghexunlian1_7{ public static void main(String []args){ System.out.println("輸入一個字串 判斷( )的個數是否相等"); Scanner sc=n
java 刪除字串中的所有的空格和區域性空格
1.使用Apache的deleteWhitespace函式 Strim或者Trip都是隻能去除頭部和尾部的空字串。中間的部分是不能夠去除的! 推薦使用ApacheCommonse的StringUtils.deleteWhitespace("a b c"); 刪除
JAVA解析字串中的加減乘除四則運算的實現
package com.dwtedx.income.utility; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.regex.Matcher; import java.util.re
java 從字串中 以單個或多個空格進行分隔 提取字串
String str = "test test1 test2 test3"; String [] arr = str.split("\\s+"); for(String ss : arr){