OpenOffice Calc - 如何替换多个字符?

OpenOffice Calc - 如何替换多个字符?

我需要将法语单词中的非英语字符替换为最接近的英语字符。例如: “混合口味”成为“Combien ca coute”

我还需要删除一些标点符号。有没有办法在不使用嵌套的情况下做到这一点代替功能还是添加十几个额外的列?

谢谢。

答案1

这对我有用:

=SUBSTITUTE(SUBSTITUTE(yourcell; CHAR(x1); CHAR(x2)); CHAR(y); CHAR(y1))

2次换人

=SUBSTITUTE(SUBSTITUTE((yourcell; CHAR(x1); CHAR(x2)); CHAR(y); CHAR(y1)); CHAR(z1); CHAR(z2))

3次换人

在您的示例中,用 替换çcûu

=SUBSTITUTE(SUBSTITUTE(yourcell; CHAR(231); CHAR(99)); CHAR(251); CHAR(117))

要查找任何字母的代码,只需使用UNICODE函数,例如:

=UNICODE("ç")

返回231

如果您想使用替换删除标点符号,请使用以下语法(让我们用零替换点):

=SUBSTITUTE(yourcell; CHAR(46); "") 

答案2

还可以使用嵌套的 SUBSTITUTE() 函数在某些情况下保留一个字符,但在其他情况下更改它:

在单元格 A1 中我有:

Comedy, Music, Bonus Features

在单元格 B1 中我想要:

comedy music bonus.features

实现此目的的一个公式是:

=LOWER(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(A1); ", "; "|"); " "; "."); "|"; " "))

第一个替换将逗号和空格(“,”)替换为单元格 A1 中不太可能找到的字符:“|”。

第二次替换将所有空格替换为句点。

第三次替换将所有 | 字符替换为空格。

顺序很重要,以便所需的空格不会被句点取代。

TRIM() 函数可确保 A1 中的尾随空格不会转换为句点。

以更少的步骤实现此目的的另一种方法是使用以下公式:

=LOWER(SUBSTITUTE(SUBSTITUTE(TRIM(A1); " "; "."); ",."; " "))

在这种情况下,第一个替换将所有空格替换为句点,结果是:

comedy,.music,.bonus.features

第二次替换将所有实例替换",."为空格以获得所需的结果:

comedy music bonus.features

相关内容