我有这样的文字:“我喜欢stackoverflow”,并希望这个结果带有regexp(以\n
分隔):
i
l
i
k
e
s
....
我怎么能用c#做到这一点?
答案 0 :(得分:8)
你不需要正则表达式,你可以这样做:
string input = "i like stackoverflow";
string result = string.Join("\n", input.Replace(" ", "").ToCharArray());
此代码执行以下操作:
input.Replace(" ", "")
).ToCharArray()
)。string.Join("\n", ...)
)正则表达式在保证使用时非常有用。但是,如果不是,请记住jwz quote:
有些人在面对问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。
答案 1 :(得分:3)
我真的不确定正则表达式是否理想(参见Donut's answer),但如果你真的想要一个...
Regex.Replace("i like stackoverflow", "([^\\s]\\s?)", "$1\n");
答案 2 :(得分:2)
我认为你正在寻找的正则表达式是
(a-zA-Z)
替换为
$1\n
答案 3 :(得分:1)
Regex.Replace(yourstring, ".\\s?", m => m.Value + Environment.NewLine)
答案 4 :(得分:1)
如果您可以将其转换为C♯,我认为它可能会做您想要的:
#!/usr/bin/perl
# rot90
# Tom Christiansen <tchrist@perl.com>
$/ = "";
# uncomment for easier to read, but not reversible:
### @ARGV = map { "fmt -20 $_ |" } @ARGV;
while ( <> ) {
chomp;
@lines = split /\n/;
$MAXCOLS = -1;
for (@lines) { $MAXCOLS = length if $MAXCOLS < length; }
@vlines = ( " " x @lines ) x $MAXCOLS;
for ( $row = 0; $row < @lines; $row++ ) {
for ( $col = 0; $col < $MAXCOLS; $col++ ) {
$char = ( length($lines[$row]) > $col )
? substr($lines[$row], $col, 1)
: ' ';
substr($vlines[$col], $row, 1) = $char;
}
}
for (@vlines) {
# uncomment for easier to read, but again not reversible
s/(.)/$1 /g;
print $_, "\n";
}
print "\n";
}
它不使用任何正则表达式,所以我认为翻译是可能的。
鉴于此示例输入:
I sit beside the
fire and think
of all that
I have seen:
of butterflies
and meadowflowers
and places
that I've been.
I sit beside the
fire and think
of how the world
shall be
when winter comes
without a spring
that I shall
ever see.
它生成此输出文件:
I f o I o a a t I f o s w w t e
i f f n n h i f h h i h v
s r h d d a s r a e t a e
i e a a b t i e h l n h t r
t l v u m p t o l o
a l e t e l I a w w u I s
b n t a a ' b n b i t e
e d t s e d c v e d t e n s e
s h e r o e e s h t a h .
i t a e f w s i t e e a
d h t n l f b d h r s l
e i : i l e e i w p l
n e o e n o c r
t k s w n t k r o i
h e . h l m n
e r e d e g
s s
希望这有帮助!如果你把它翻译成C♯,我会喜欢它,如果你给我发一份邮件,因为我很好奇它是如何在那里工作的。我只知道Java(*),而不是C♯,并且听说它好多了。然后,头部的靴子也是如此。 :)