Jim*_*_Bo 2 perl split delimiter
我试图弄清楚如何在没有一百万行代码的情况下拆分具有三个可能的分隔符(或没有)的字符串,但代码对于像我这样的人来说仍然清晰可辨.
字符串中有许多可能的组合.
    this-is_the.string
    this.is.the.string
    this-is_the_string
    thisisthestring
字符串中没有空格,也没有这些字符:
 ~`!@#$%^&*()+=\][{}|';:"/?>,<.
该字符串已被删除,但:
0-9
a-Z
-
_ 
.
也没有连续的点,破折号或下划线.
我希望结果显示为Result:
This Is The String
我真的很难想要实现这一目标.我相信我需要使用哈希,即使经过数小时的反复试验,我也没有理解这个概念.
令我感到困惑的是,我可能会在多个分隔符上分割一个字符串,其中分隔符可以按任何顺序和/或三种不同的类型(或根本没有)并保持结果的顺序!
任何可能性?
将字符串拆分为单词,将单词大写,然后在单词之间插入空格时加入单词.
它可以非常简洁地编码:
my $clean = join ' ', map ucfirst lc, split /[_.-]+/, $string;
如果您只想打印出结果,可以使用
use feature qw( say );
say join ' ', map ucfirst lc, split /[_.-]+/, $string;
要么
print join ' ', map ucfirst lc, split /[_.-]+/, $string;
print "\n";