首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

老公“难题”——替换再查找,解决字符串提取问题

学习Excel技术,关注微信公众号: excelperfect 经过一段时间学习,吴老师自认为Excel水平超过了一般人。这天,她看到老公在书房电脑前不停地敲着双击鼠标并按删除键。...趁这个间隙,吴老师坐到电脑前,仔细一看,原来是一组设备编码数据,将近万行,长短不一,要将第5个分隔符“-”前字符串提取出来。示例数据如下图1所示(原数据不便公开,使用演示数据)。...图1 老公做法是,双击鼠标,将光标定位到第5个“-”前,然后按Delete键删除后面的字符。 “天呐,这搞到什么时候……这个笨老公!不会想些简单办法,难怪要加班。”...“咦,你是怎么搞,怎么就……”。不知什么时候,老公已经站在她身后,脸上写着一个大大问号…… 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

48220

替换最长重复字符

替换最长重复字符 给你一个仅由大写英文字母组成字符串,你可以将任意位置上字符替换成另外字符,总共可最多替换k次。在执行上述操作,找到包含重复字母最长子串长度。...注意:字符串长度 和k不会超过104。 示例 输入:s = "ABAB", k = 2 输出:4 解释:用两个'A'替换为两个'B',反之亦然。...输入:s = "AABABBA", k = 1 输出:4 解释: 将中间一个'A'替换为'B',字符串变为 "AABBBBA"。 子串 "BBBB" 有最长重复字母, 答案为 4。...,当然也有可能采用动态规划做法,本题使用双指针维护滑动窗口,这个题目官方思路比较好,就直接以官方思路做个解释,我们可以枚举字符串每一个位置作为右端点,然后找到其最远左端点位置,满足该区间内除了出现次数最多那一类字符之外...我们以示例ABAB 2为例来模拟一遍这个过程,过程为每次循环结束位置,注意第四次循环结束right===n。

94020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LeetCode每日一题-9:替换最长重复字符串

    题目描述: 给你一个仅由大写英文字母组成字符串,你可以将任意位置上字符替换成另外字符,总共可最多替换 k 次。在执行上述操作,找到包含重复字母最长子串长度。...注意:字符串长度 和 k 不会超过 10^4。 示例 1: 输入:s = "ABAB", k = 2 输出:4 解释:用两个'A'替换为两个'B',反之亦然。...示例 2: 输入:s = "AABABBA", k = 1 输出:4 解释: 将中间一个'A'替换为'B',字符串变为 "AABBBBA"。...,右边界就又可以开始向右移动了,继续尝试找到更长目标子串; 替换最长重复子串就产生在右边界、左边界交替向右移动过程中。...S 长度; 空间复杂度:O(A),这里 A 是输入字符串 S 出现字符 ASCII 值范围。

    43220

    往前替换空格

    题目描述 将一个字符串空格替换成 “%20”。 Input: "A B" Output: "A%20B" 解题思路 ① 在字符串尾部填充任意字符,使得字符串长度等于替换之后长度。...因为一个空格要替换成三个字符(%20),所以当遍历到一个空格时,需要在尾部填充两个任意字符。 ② 令 P1 指向字符串原来末尾位置,P2 指向字符串现在末尾位置。...从后向前遍是为了在改变 P2 所指向内容时,不会影响到 P1 遍历原来字符串内容。 ③ 当 P2 遇到 P1 时(P2 <= P1),或者遍历结束(P1 < 0),退出。...if (str.charAt(i) == ' ') { str.append(" "); } } //追加完,...P2指向现在末尾 int P2 = str.length() - 1; //从往前遍历,如果发下空格就填充%20,否则把P1指向内容往后挪 while

    1K20

    Java字符串替换

    在Java编程世界里,字符串操作是一项基础而重要技能。尤其是字符串替换,它在数据处理、文本处理等领域中扮演着关键角色。...作为一名高级Java架构师面试官,我经常看到许多候选人在处理字符串替换困惑和错误。因此,我决定写一篇文章,汇总Java中只替换字符串指定字符各种方法。...让我们开始这场Java字符串替换大作战!1. 使用String.replace()方法String.replace()方法是Java中最基本字符串替换方法,它可以替换字符串中所有指定字符或字符串。...表示字符串结尾,这样可以确保只替换字符串末尾指定字符。...()方法会替换字符串中所有匹配字符或字符串,而不仅仅是指定位置字符。

    6810

    字符串替换空格

    题目:剑指Offer 05.替换空格 请实现一个函数,把字符串 s 中每个空格替换成"%20"。 示例 1: 输入:s = "We are happy."...思路 如果想把这道题目做到极致,就不要只用额外辅助空间了! 首先扩充数组到每个空格替换成"%20"之后大小。...从前向后填充就是O(n^2)算法了,因为每次添加元素都要将添加元素之后所有元素向后移动。 「其实很多数组填充类问题,都可以先预先给数组扩容带填充大小,然后在从后向前进行操作。」...// 从先前将空格替换为"%20" for (int i = sNewSize - 1, j = sOldSize - 1; j < i; i--, j--) {...,但是很多语言对字符串做了特殊规定,接下来我来说一说C/C++中字符串

    4.6K30

    php 字符串替换中文,PHP中文字符串替换其中为*方法

    大家好,又见面了,我是你们朋友全栈君。 在项目中需要对字符串部分进行隐藏或者替换。譬如手机号码中间几位进行隐藏,中文名字中间替换为*号等。 英文和数字等可直接用php自带函数进行处理。...但是中文因为编码缘故会出现不一样效果。需要自己定义方法进行处理。此处针对大多数UTF-8用户。 //英文和数字等 substr_replace() 函数把字符串一部分替换为另一个字符串。...//使用该方法可以替换中文字符串内容–使用方法类似于substr_replace_cn //在utf-8下一个汉字占三个字节 //$repalce 为要替换字符串 start为开始字符位置默认...0开始 len为替换长度 public function substr_replace_cn(string, repalce = ‘*’,start = 0,len = 0) { count =...returnString .= tmpString; } $i ++; } return $returnString; } //使用正则表达式—视情况而定 preg_replace()//执行正则表达式搜索和替换

    7.8K20

    算法-字符串替换空格

    题目: 实现一个函数,把字符串每一个空格替换成”%20”。例如输入”We are happy.”,则输出”We%20are%20happy.”。...解题思路: 首先我们需要先想清楚一点,函数就要求输出替换结果,没有说是在原数据上替换,还是可以申请内存,创建一个新字符串?...后者可以让问题变得简单,用比较直接方式就可以实现一个时间复杂度为O(n)代码,首先我们先遍历一遍字符串,找到到底有多少个空格以计算出替换长度,在上面的例子中,替换前是14,替换是18,创建一个长度为...18数组,然后我们只要在从头遍历一次原字符串,没有出现空格就直接复制原字符串内容,出现空格了就写入”%20”: ?...用直接修改原数据方法,从后向前替换空格!就酱: ? 这种方法的话,计算替换长度就有了一个新作用,它告诉我们原数据中最后一位放在新数据哪一位。

    2.4K60

    Java中替换字符串方法

    Java中替换字符串可以用replace和replaceAll这两种,区别是, 1. replace参数是char和CharSequence,即可以支持字符替换,也支持字符串替换(CharSequence...即字符串序列意思,说白了就是字符串意思)。...2. replaceAll参数是regex或者char,即基于正则表达式替换,例如,可以通过replaceAll("\\d", "*")将一个字符串所有的数字字符都换成星号,相同点是都是全部替换,即将源字符串某一字符或字符串全部换成指定字符或字符串...如果只想替换第一次出现,可以使用replaceFirst(),这个方法也是基于正则表达式替换,但与replaceAll()不同是,只替换第一次出现字符串。...另外,如果replaceAll()和replaceFirst()所用参数据不是基于正则表达式,则与replace()替换字符串效果是一样,即这两者也支持字符串操作。

    5.7K30
    领券