我正在尝试编写一个函数,它有2个参数,一个是字符串,另一个是数字数据类型,我的函数必须在每N个字符后放一个点,其中N是在运行时提供的(通过提供的一些数字)数字数据类型)。有人可以帮帮我吗?
答案 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.");
}