将字符串重复的字符替换成单个字符的正则表达式

java怎么样将字符串中重复的字符替换成单个字符的正则表达式

0

5个回答

char[] arr = new char[s.length()];
int j = 0;
outer:
for(int i=0;i<s.length();i++) {
char c = s.charAt(i);//字符串的每个字符
for(int k=0;k<j;k++) {//在j之前找重复
if(c == arr[k]) {//找到重复
continue outer;//跳到i++处理下一个
}
}
arr[j++] = c;//没有重复,放入j位置,j后移
}
arr = Arrays.copyOf(arr, j);
s = new String(arr);

1
zengyang105
Tao-yangZeng 我觉得编一个正则表达式来匹配 更好一点呢。。我试试您的方法 谢谢
大约 4 年之前 回复
zengyang105
Tao-yangZeng 我觉得编一个正则表达式来匹配 更好一点呢。。我试试您的方法 谢谢
大约 4 年之前 回复
 String str = "abaabcaaaad";
        String ret = str.replaceAll("[a]+", "a");//替换字符a
        System.out.println(ret);
2
0

danielinbiti给的答案很好,如果不知道哪个字符是重复的,可以遍历一遍,如果前后两个字符相等,即可将其作为需要修改的a存储在list,然后再对list中所有值执行上述操作。

0

这样 只 适用于 单个字符重复啊,如果多个字符重复呢

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
正则表达式-去除重复字符并替换
//正则表达式-去除重复字符并替换nclass RegexTestn{n public static void main(String[] args) n {n //System.out.println("Hello World!");n test_1();n } /*n 需求:n 将下列字符串转成:我要学编程. 到底用四种功能
【python】字符串中多个字符替换为1个字符
from functools import reducenndef replace_char(s, oldChar, newChar ):n return reduce(lambda s, char: s.replace(char, newChar), oldChar, s)nns = 'aaa,bbb/ccc|ddd\tzzz?ooo'nnew_s = replace_char(s, ',...
字符串:正则表达式用于替换操作
/* *  2018年3月30日16:34:22 *  代码目的: *      演示正则表达式用于替换操作。 *      方法见名知义。 *      replaceFirst和replaceAll均为类Matcher的普通方法。 *      appendReplacement(StringBuffer sbuf, String replacement)执行渐进式的替换 。 *     ...
将字符串中某个字符串替换为另外一个字符串
package mianshi;nn//将字符串中某个字符串更改为另外一个字符串n// &amp;quot;abcdef&amp;quot;将&amp;quot;bc&amp;quot;-&amp;amp;gt;&amp;quot;de&amp;quot;nnpublic class strChange {nn //方法1、自带函数解决n public String replace2(String s,String s1,String s2){n if(s.contains(s1)
PHP 字符串正则替换函数preg_replace
$msg = preg_replace("/.+/is", "", $msg); -----删除和中间的部分 $msg = preg_replace("/]+>/", "", $msg); -----是删除i (PCRE_CASELESS) 如果设定此修正符,模式中的字符将同时匹配大小写字母。 s (PCRE_DOTALL) 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。
java 正则 替换 2次以上 的重复字符串
场景:nn把文本中的多个 br标签 替换成1个nn如下:nnn第一段话&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;第二段话nn一开始的思路:nn使用String类的 replaceAll("&lt;br /&gt;{2,}", br ));nn想利用{2,} 表示 2次以上的重复nnnn发现不行, 则在网上查找 2次以上次正则匹配nn得到了一个新的正则:...
将字符串内的特定的字符或字符串替换成另一个字符或字符串(纯C)
C代码和网页交互的时候,有些字符串的显示会有问题rn比如在网页文本框里显示&、等rn发给网页的字符串就要转换成   &#38;    &lt; &gt; 各种转换码可参考http://liuxufei.com/weblog/jishu/71.htmlrn这就需要代码里把原有的字符串check,进行各种替换rn往上有相关代码,不过都有各种问题,只能自己写rn这份基本试用,可借鉴rnrnrn//把so
正则表达式:字符串中连续重复字符串的识别和替换
今天编程的时候遇到一个正则表达式查找和替换的问题:对于字符串连续出现的字符,用“(重复字符)”替换。我想到用正则表达式比较高效。n对于字符串中的连续重复的字符,正则表达式是:(.)\1+以下是程序的片段: Pattern pattern = Pattern.compile("(.)\\1+");n Matcher matcher = pattern.matcher("111234445466");
用正则表达式re 替换多处字符串(re.sub)
n pattern = re.compile('&quot;lead&quot;:&quot;(.*?)&quot;,') # 单引号中的字符串都是要替换掉的nn html = re.sub(pattern, '', html) # 匹配所有符合的地方nnnn 
vue过滤器 正则表达式 匹配第一个字符与最后一个字符中间用***代替 防止信息泄露
1、定义过滤器nnnexports.phoneFilter = function (params) {nnif(params.length &amp;gt;1 ){nnreturn params.replace(/^(.).*(.)$/,&quot;$1***$2&quot;)nn}else{nnreturn params+'***'nn}nn}nn 2、解析nn $1是正则里的捕获,就是前面的(.)里的东西 nn3、效果n...
正则表达式匹配/替换指定字符串
nusing System.Collections;nusing System.Collections.Generic;nusing System.Text.RegularExpressions;nusing UnityEngine;nnpublic class Test : MonoBehaviourn{nn void Start()n {n string tStr =...
随手写的一个将string字符串内某字符替换成另外的字符的一个函数
nnstring ChReplaceFun(string &amp;amp;amp;strValue, string strOriginal, string strReplace) n{ n if (strValue.find(strOriginal) != -1) n { n while (strValue.find(strOriginal) != -1) n { n ...
Python如何将字符串分割成单个字符,并形成一个list?
一个字符串可以看做是一个listnn具体操作如下nnn&amp;gt;&amp;gt;&amp;gt; a = &quot;这是一段话&quot;n&amp;gt;&amp;gt;&amp;gt; a[0]n'这'n&amp;gt;&amp;gt;&amp;gt; list(a)n['这', '是', '一', '段', '话']n&amp;gt;&amp;gt;&amp;gt; for x in a:n print(x)nn n这n是n一n段n话n&amp;gt;&amp;gt;&amp;gt; nn所以
js正则表达式替换特殊字符
excel表格复制粘贴到文本框,解析相应的数据nnnn粘贴到文本框nnnn解析相应的数据,换行符替换成“-”,空格替换成“,”nnvar a = $('#data').val().replace(/[\r\n]/g,&quot;-&quot;);nvar b = a.replace(/\s+/g,&quot;,&quot;);nn ...
正则表达式替换指定字符位置
记录在这里备忘nn整理坐标数据nnn{"position":{"lng":100.092612914"lat":23.8878061038 临沧市-云南省n{"position":{"lng":100.229628399"lat":26.8753510895 丽江市-云南省n{"position":{"lng":99.1779956133"lat":25.1204891962 保山市-云南省n{"...
python 字符串中特定字符替换,截取
 特定字符串替换nnnt='2018-08-07'nt1=t.replace('-','')nprint(t1) #输出为20180807nn字符串截取与拼接nnnpath='E:/项目/Djangocode/RSMDSys/static/imagedata/1535974092.287188.jpg'npath1=path.split('/')nprint('path1:',path1)npa...
php字符串函数(2)替换、分割、填充、去除
1、字符串替换函数:n     (1)str_replace():
Java 字符串 之 字符串替换
http://www.verejava.com/?id=16993026372386/**n 4. 字符串的替换操作n 1. String replace(char oldChar,char newChar) //将新字符替换旧字符n 3. String replaceFirst(String regex,String replacement); //替换第一个满足条件的字符串n*/npub...
Python中 如何将一个字符串分成一个个字符;
其实很简单,一开始我以为是用Str的属性split;rn然而当你知道一个知识点之后,这个就不是问题了:rn一个字符串本质上来讲是一个列表。rn如此:rn代码:rnfor x in Str:rnprint(x)
正则匹配 字符串 并替换
/**n * 正则查找字符串中的,并将其结尾补充n *n * @param inputStringn * @returnn */n public String fillImgEndTag(String inputString) throws PatternSyntaxException {nn String imgEndTag = "";
C#使用指定的字符替换除首尾字符外的字符
方法中也提供了一种由字符数组转换为字符串的方法。n/// n /// 使用指定的字符替换除首尾字符外的字符串中的字符n /// n /// 原字符串n /// 指定的字符n /// n private static string ReplaceWithNewStr(string sourceString, char ch)n {n char[] tempChar = sourc
替换字符串中的一个字符串
String类中的replace方法和replaceAll方法都是替换匹配的所有字符串,只是参数不同,区别是replaceAll的第一个参数是正则表达式rn要替换某一个字符串则要用StringBuffer或者StringBuilder的replace(int start, int end, String str)  在指定位置替换为str字符串
MySQL字符串替换
比如你要将 表 tb1里面的 f1字段的abc替换为def rnrnrnUPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');rnrnrnrnrnREPLACE(str,from_str,to_str) rn 在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串: rn mysq...
iOS-字符串替换-正则表达式-例子
需求:在html中查找并替换相应的html标签n代码实现nn- (NSString *)replaceImageHtml:(NSString *)oldHtml {n NSString *regex = @"()";n NSRange r;n NSMutableString *newHtml = [NSMutableString stringWithString:ol
Oracle字符串分隔符替换(替换奇数个或偶数个)
罪恶,,,,居然在图书馆占位子,,,nn标题不知道怎么写比较适合,这是群里面一个小伙伴问我的问题,一番折腾后感觉思路比较有意思,就记录一下。nn问题:nn大概就是一个字符串:&quot;11-12,11-21,11-22,11-24&quot;,需要处理成&quot;11-12至11-21,11-22至11-24&quot;,即两个日期为一组,用“至”连接,然后每组日期用逗号隔开。nn于是乎,折腾一番后,nn思路是:nn1、先按逗号拆分...
jquery替换字符串
 nnvar str = &quot;2018-01-30T11:14:51.2&quot;n                str = str.replace('T', '  ');nnalert(str)nn结果输出是:2018-01-30 11:14:51.2
C++把字符串分割为字符串数组
C++如何把一个字符串分割到字符串数组里呢?nn为了让读者轻松了解,我们用一个for循环来实现,不借助strtok()以及其他函数;(先上代码)nnn#include &amp;lt;iostream&amp;gt;n#include &amp;lt;string&amp;gt;nusing namespace std;nstring w,k[1000002];nint main() {n getline(cin, w);...
sql 将某个字段中的部分字符替换为特定字符
把列中凡是有2011的全部修改成2014,如 lieming 里的201101131431改成201401131431,n写法:n nupdate tab set lieming = replace(lieming,'2011','2014');
C#:替换字符串(文字),仅替换第1次出现的
nstring s = &quot;aaa&quot;;nRegex r = new Regex(&quot;a&quot;);ns=r.Replace(s,&quot;b&quot;,1);nnn 
【golang】正则表达式 查找和替换字符
我拟理解的正则表达式rn正则表示式即在一个字符串查找满足匹配规则的子字符串rn1) 正则表达式的描述模式,rn1.1。 连接操作rn连接操作就是匹配连接后的结果rn有 hello和 go 两个单词将它们连接起来,用正则表式为 (hello)(go),就是连接操作,连接操作必须满足这这几个要求才能匹配成功rn匹配一个邮箱 (示例:abcabc@qq.com)rnrnrnrnrn操作rn1rn2rn3rn4rn5rnrnrnrnrn拆分成rn邮...
字符串替换(StringBuffer)
stringBuffer
正则表达式处理重复字符串时出现的问题
定义一个组,引用第一个组(因为“+”,所以处理成 aaaaaaa(......全是a))所有含有a的串都被切定义两个组,引用第一个组(因为“+”,处理成bbbbbbbb{......全是b})在所有字符串中,以a开始,与b相连的子串中,对b的重复进行切割。再来一个与上面对比:我把上面的主串改了一下,就显而易见了。===========================================...
js中正则表达式\1表示第一个捕获,\1捕获一个字符串中最长相同子串
正则表达式中\1就表示捕获的第一个内容,如下例子:nnn //捕获一个三位的数字,\1就表示这第一个捕获n var str = '188-384-845-845';n var reg = /(\d{3})\-\1+/g;n var arr = str.match(reg);n console.log(arr) //[&quot;845-845&quot;]nn利用这个\1,可以获取一个长字符串中的最长相同子串nn...
替换字符串中连续出现的指定字符串
本题来自《程序员代码面试指南》(左程云)著rn题目:给定三个字符串str,from,to,已知from字符串中无重复字符,把str中所有的from字符串替换为to字符串,然后替换后的字符串。rn举例:str="123abc",from="abc",to="456",return "123456";rnimport java.io.*;nclass test n{n public static v
使用正则表达式检测字符串中重复出现的词
使用正则表达式检测字符串中重复出现的词,程序完全可以运行,大家可以参考
excel中把一个字符串替换为另一个字符串
现在需要把B3单元格的字符串“张三”替换为F3单元格的“李四”,然后把结果显示在D3具体写法为:先找到待替换的目标字符串的位置,并确定待替换的目标字符串的长度之后用字符串替换即可...
3、用正则表达式和普通方法怎样去掉连续重复的字符串,而只保留其中的一个?比如&quot;abbbbcccddbbbb&quot;变为&quot;abcdb&quot;
n//正则nvar str = &quot;abbbbcccddbbbb&quot;;nstr = str.replace(/(.)\1*/g,&quot;$1&quot;);nconsole.log(str);n//普通方法n//普通方法i、j指针法,请参考“消消乐”的题目:查找字符串中是否有连续3项或3项以上重复字符,如果有则返回这些字符的下标位置。nnfunction quchong(str){nvar i=0;nvar j=1;...
js利用正则表达式进行字符替换
例一:把所有逗号“,”转换成换行。rnvar reg = new RegExp(",", "g");//正则表达式,第一个参数是目标对象,第二个参数g,表示全部替换。rnrnstr.replace(reg, "\r\n");rnrnrnrn例二:把换行、空格、Tab替换成逗号。rnstr.replace(/\r/g, ",").replace(/\n/g, ",").replace(/\s+/g,
JS中字符串替换字符
var str = 'abcadeacf';nvar str1 = str.replace('a', 'o');nalert(str1);  n n// 打印结果: obcadeacfn nvar str2 = str.replace(/a/g, 'o');nalert(str2);  n nn//打印结果: obcodeocf,n注意: 此处replace的第一个参数为正则
c++编写文本文件字符串替换程序
因工作需要,本人用c++ 编写替换文本文件中指定字符串的小程序,供大家使用: 语法 rep2 test.txt srcstr,desstr srcstr=是将要被替换的字符串 desstr=是替换成的字符串 速度很快,但要求文件不可大于5000行。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 正则表达式学习 python3正则表达式教程