将同一个单词中混合大小写分成两行

Posted

技术标签:

【中文标题】将同一个单词中混合大小写分成两行【英文标题】:Split mixed upper and lowercase in the same word into two lines 【发布时间】:2021-01-05 11:16:15 【问题描述】:

我的单元格中有一个缺少新行的字符串。

看起来像这样:

Text Text TextText Text Text T5df Tdfcv TextNeu

换句话说:

如果单词中的小写字母变为大写字母,则应在此处插入新行 \n

所以示例将转换为

Text Text Text
Text Text Text T5df Tdfcv Text
Neu

回复:

Text Text Text\nText Text Text T5df Tdfcv Text\nNeu

我找到了

String[] r = s.split("(?=\\pLu)");

我尝试了REGAUS(F2;"(?=\\pUpper)";"\n";"g"),但我得到了502,因为正则表达式有问题。

calc 需要哪个公式来执行此操作?

【问题讨论】:

【参考方案1】:

使用英文公式名称,以下公式可以解决问题:

=REGEX(A1;"([:lower:])([:upper:])";"$1"&CHAR(10)&"$2";"g")

为了便于阅读,多行相同:

    =REGEX(
        A1;
        "([:lower:])([:upper:])";
        "$1" & CHAR(10) & "$2";
        "g"
    )

它匹配一个小写字母后跟一个大写字母,并使用 CHAR() 函数插入换行符。

您必须手动调整行高,否则您只会看到“Neu”(最后一行)。

对于本地化的公式名称(德语),它将是:

=REGAUS(A1;"([:lower:])([:upper:])";"$1"&ZEICHEN(10)&"$2";"g")

我原以为插入“\n”也应该可以工作,但我没有设法让它工作,因此求助于 CHAR(10)。

【讨论】:

以上是关于将同一个单词中混合大小写分成两行的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式匹配在任意位置连字符并分成两行的特定单词

更改 div 中跨度的可见性和大小分为两行

java 程序编写规则(自己总结)

将大写单元格与小写单元格分开排序

带有两行标签/文本的 TextButton 图标,可以吗?

将行元素传播到多行