如何在C#中将单个空格放入一个字符串中

时间:2014-04-15 22:07:09

标签: c# syntax permutation

我仍然是C#的初学者,我知道有一种方法可以用来做到这一点,但我似乎无法在网上找到它。

我有一个排列单词的函数

static void Main(string[] args)
{
    string[] list = "a b c d".Split();
    foreach (string[] permutation in Permutations<string>.AllFor(list))
    {
        System.Console.WriteLine(string.Join(" ", permutation));
    }
}

然而,它仅适用于被分解的单词。 (例如,&#34; abc d&#34;)因为这不是一个真正的方式来询问用户的输入,我想找到一种方法从用户那里取一个词(一个完整的词,如&#34;你好&#34;)并将其分解为理解的功能。例如。形成使用的输入词&#34; happy&#34;为节目理解=&#34; h a p p y&#34;

我试过这段代码:

//splits the word into an array
string[] arr = name.Split();

//splits the array with spaces to enter into the program
name = string.Join(" ",arr);

arr = name.Split();

但它最终还是以不间断的方式结束。有人能告诉我最简单的方法吗?

提到我仍然是C#的初学者和总体编程我可能不了解一些更高级别的概念。我在这个网站上得到了一些答案,我看到了一些我根本不懂的答案。

3 个答案:

答案 0 :(得分:1)

你只需要将每个字符分开,然后用空格连接它们:

这是最简单的方式:

var userInput = Console.ReadLine();

var output = string.Join<char>(" ", userInput);

Console.WriteLine(output);

答案 1 :(得分:1)

您可以遍历字符串以将其转换为数组,然后使用Join

using System.Text.RegularExpressions;
using System;

public class Program{
    public static void Main(string[] args) {
        string v = "hello";

        // Convert into the a string array, the old-fashioned way.
        string[] name = new string[v.Length];
        for (int i = 0; i < v.Length; i++)
        name[i] = v[i] + ""; 


        string feedToPermutationFunction = string.Join(" ",name));
        // Feed the above string into your permutation code.
    }
}

答案 2 :(得分:0)

    char[] array=input.ToArray();
string val="";
for(int i=0;i<array.Length;i++)
{
val+=array[i]+" ";
}

这将为您提供一个字符串,其中包含您想要 Val 的空格 创建一个字符串长度为

的数组
string[] strarray=new string[val.Length];


   for(int i=0;i<strarray.Length;i++)
{
strarray[i]=val.Substring(i,len); //**i** is for string index,,,**len** string length in each index
}