0

文字列を受け入れ、すべての印刷不可能な文字 (<32 または >126) を空の文字列に置き換える vb.net 関数を作成するにはどうすればよいですか?

4

3 に答える 3

0

LINQ も使用できます。

    Dim startstring As String = "ferojifsdajknf" + Chr(0) + "sdiojufsda" + Chr(20) + "jikwfe"
    Dim result As String = Join((From c As Char In startstring                                     
                                Where Asc(c) >= 32 AndAlso Asc(c) <= 126
                                Let s = c.ToString
                                Select s).ToArray, "")

?startstring.ToCharArray
{Length=32}
    (0): "f"c
    (1): "e"c
    (2): "r"c
    (3): "o"c
    (4): "j"c
    (5): "i"c
    (6): "f"c
    (7): "s"c
    (8): "d"c
    (9): "a"c
    (10): "j"c
    (11): "k"c
    (12): "n"c
    (13): "f"c
    (14): "
    (15): "s"c
    (16): "d"c
    (17): "i"c
    (18): "o"c
    (19): "j"c
    (20): "u"c
    (21): "f"c
    (22): "s"c
    (23): "d"c
    (24): "a"c
    (25): ""c
    (26): "j"c
    (27): "i"c
    (28): "k"c
    (29): "w"c
    (30): "f"c
    (31): "e"c

?result.ToCharArray
{Length=30}
    (0): "f"c
    (1): "e"c
    (2): "r"c
    (3): "o"c
    (4): "j"c
    (5): "i"c
    (6): "f"c
    (7): "s"c
    (8): "d"c
    (9): "a"c
    (10): "j"c
    (11): "k"c
    (12): "n"c
    (13): "f"c
    (14): "s"c
    (15): "d"c
    (16): "i"c
    (17): "o"c
    (18): "j"c
    (19): "u"c
    (20): "f"c
    (21): "s"c
    (22): "d"c
    (23): "a"c
    (24): "j"c
    (25): "i"c
    (26): "k"c
    (27): "w"c
    (28): "f"c
    (29): "e"c
于 2013-10-10T17:36:02.927 に答える