函数试图在n个字符后面放点

时间:2009-04-07 21:17:44

标签: string language-agnostic

我正在尝试编写一个函数,它有2个参数,一个是字符串,另一个是数字数据类型,我的函数必须在每N个字符后放一个点,其中N是在运行时提供的(通过提供的一些数字)数字数据类型)。有人可以帮帮我吗?

4 个答案:

答案 0 :(得分:2)

这有点像家庭作业,所以让我建议如何开始,然后你可以回到你已经走了多远。

首先,您需要能够遍历字符串,或者至少沿着其长度向前跳转 N 个字符。你能想到一个构造,它允许你迭代每个字符,直到你迭代 N 字符,或者你允许你将字符串拆分成子串 N 字符吗?

答案 1 :(得分:1)

用什么语言?

在C#中:

public string PutDots(string input, int n)
{
    char[] c = input.ToCharArray();
    StringBuilder output = new StringBuilder();
    for (int i = 0; i < c.Length; i++)
    {
        output.Append(c[i]);
        if (i % n == 0 && i > 0) 
        {
            output.Append(".");
        }
    }
    return output.ToString();
}  

答案 2 :(得分:1)

这样的事情可能是:

public string foo(string input, int count)
{
  string result = "";
  for(int i=0; i < input.length; i++)
  {
    result += input[i];
    if(i % count == 0)
      result += '.';
  }
  return result;
}

(根据您可能想要使用其他语言的语言,然后使用字符串连接来构建结果字符串)

答案 3 :(得分:0)

在C#中:

static string InsertDots(string s, int n)
{
    if(string.IsNullOrEmpty(s)) return s;

    if(n <= 0 || n > s.Length) return s;

    Regex re = new Regex(string.Format("(.{{{0}}})", n));

    return re.Replace(s, "$1.");
}