当前位置: 首页 > 常见问题 > Excel表格

正则表达式替换一部分保持不变,正则表达式替换文字

  • Excel表格
  • 2023-08-15

正则表达式替换一部分保持不变?正则式:(\d)加圆括号表示分组并作为“反向索引”,\d表示一位数字 替换为:\1a \1表示引用第1个组,对每个数字,替换为它本身跟上字母a 我用的emeditor,不同环境正则式语法也有差别。那么,正则表达式替换一部分保持不变?一起来了解一下吧。

正则表达式替换两个字符之间的内容

只有两个关键字最好悉配不用正则,IF INSTR两次就可以了,如果关键字多一点,可以使用for循环,例如:

str=".需要码山处理的字符串,可以从文件、区域、数组等.."

foreachtinarray("中国人民","美国纽约","印度阿三")

ifinstr(str,t)>0then

str=t

exitfor

end迟陆中if

nextt

比正则表达式简单和高效。

正则匹配换行符并替换

"kbc3" =~ s/[k3](\D+)[0-4]/p$1/

保持耐扮带ng不变

"缺陪āng" =~ s/昌芦([a-z]{2})(?=\d)/$1/

使用正则表达式替换内容

string

str=“

https://172.17.221.77:35210/1/area/1.html

”;

//英文状态歼拆下的双锋启引号

str=regex.replace(body,@"银改如area",@"international");

试一下

正则表达式替换文字

MySQL 一直以来都支持正则匹配,不过对旁态于正则替换则一直到MySQL 8.0 才支持。对于这类场景,以前要么在MySQL端处理,要么把数据拿出来在应用端处理。

比如我想把表y1的列str1的出现第3个action的余迅子 串替换成dble,怎么实现?

1. 自己写SQL层的存储函数。代码如下写死了3个,没有优化,仅仅作为演示,MySQL 里非常不建议写这样的函数。

mysql

DELIMITER $$

USE `ytt`$$

DROP FUNCTION IF EXISTS `func_instr_simple_ytt`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `func_instr_simple_ytt`(

f_str VARCHAR(1000), -- Parameter 1

f_substr VARCHAR(100), -- Parameter 2

f_replace_str varchar(100),

f_times int -- times counter.only support 3.

) RETURNS varchar(1000)

BEGIN

declare v_result varchar(1000) default 'ytt'; -- result.

declare v_substr_len int default 0; -- search string length.

set f_times = 3; -- only support 3.

set v_substr_len = length(f_substr);

select instr(f_str,f_substr) into @p1; -- First real position .

select instr(substr(f_str,@p1+v_substr_len),f_substr) into @p2; Secondary virtual position.

select instr(substr(f_str,@p2+ @p1 +2*v_substr_len - 1),f_substr) into @p3; -- Third virtual position.

if @p1 > 0 && @p2 > 0 && @p3 > 0 then -- Fine.

select

concat(substr(f_str,1,@p1 + @p2 + @p3 + (f_times - 1) * v_substr_len - f_times)

,f_replace_str,

substr(f_str,@p1 + @p2 + @p3 + f_times * v_substr_len-2)) into v_result;

else

set v_result = f_str; -- Never changed.

end if;

-- Purge all session variables.

set @p1 = null;

set @p2 = null;

set @p3 = null;

return v_result;

end;

$$

DELIMITER ;

-- 调用函数来更新:

mysql> update y1 set str1 = func_instr_simple_ytt(str1,'action','dble',3);

Query OK, 20 rows affected (0.12 sec)

Rows matched: 20 Changed: 20 Warnings: 0

2. 导出来用sed之类的替换掉在导入,步骤如下:(推荐使运毁源用)

1)导出表y1的记录。

regex正则表达式

excel的替换功裤毁能比较弱,可以将数据粘贴到word进行替伏大换,word通配符种类较多。

需要你将具体数据示例出来才能知道如何缺纯竖解决。

以上就是正则表达式替换一部分保持不变的全部内容,用java不?这个很好办,你首先读取这个文件 循环读取,一次读取一行(可以用BufferedReader)一行一行解析。比如你读取的某一行是 /awesome/autoee 比如你要讲上面的e换成E。

猜你喜欢