Find the capitals
Description:
Instructions
Write a function that takes a single string (word
) as argument. The function must return an ordered list containing the indexes of all capital letters in the string.
Example
Assert.AreEqual(Kata.Capitals("CodEWaRs"), new int[]{0,3,4,6});
using System;
using System.Linq; public static class Kata
{
public static int[] Capitals(string word)
{
//Write your code here
int[] array = new int[] { };
if (word == null || word == string.Empty)
{
return array;
}
string tmp = word.ToLower();
return Enumerable.Range(, tmp.Length).Where(i => word[i] != tmp[i]).ToArray();
}
}
其他人的解法:
值得学习的是char本身自带了判断是否大写字母的函数
using System.Collections.Generic;
using System; public static class Kata
{
public static int[] Capitals(string word)
{
var capitalIndexes = new List<int>(); for (var i = ; i < word.Length; i++)
{
if (char.IsUpper(word[i]))
capitalIndexes.Add(i);
} return capitalIndexes.ToArray();
}
}