按字符串vb 2010中的顺序提取char

时间:2010-12-24 20:33:09

标签: c# .net vb.net

我在richtextbox1中有一个文本,我想提取字符串的每个3个字符,依此类推:

richtextbox1.text = "It's Chrismas time"  

结果,从右到左的顺序为3:“Isrmte”
结果,从左到右依次为3:“etmrsI”

我该怎么办?

代码可以在C#2010中。我将翻译为vb.net 2010。

1 个答案:

答案 0 :(得分:3)

richtextbox1.text.Where((c, i) => i % 3 == 0)怎么样? 或者RTL:richtextbox1.text.Reverse().Where((c, i) => i % 3 == 0)
在VB中:richtextbox1.text.Where(Function(c, i) i Mod 3 = 0)

但是,您的示例并未显示提取每个第三个字符 - 您的示例会忽略空格,您可以这样做:

text.Where(Function(c) Not Char.IsWhiteSpace(c)).Where(Function(c, i) i Mod 3 = 0)

要获取文本并将其放入另一个文本框,您可以这样做:

textbox2.text = String.Join("", textbox1.text
               .Where(Function(c) Not Char.IsWhiteSpace(c))
               .Where(Function(c, i) i Mod 3 = 0))

这是我直接从VS 2010复制的测试代码:

    Dim text = "It's Chrismas time"
    Console.WriteLine(String.Join("",
                    text.Where(Function(c) Not Char.IsWhiteSpace(c)) _
                        .Where(Function(c, i) i Mod 3 = 0)))
相关问题