本格正規表現に新しいですかわからないが、このような簡単な操作のために重いもののようです。
これはサンプルです。あなたには当てはまらないかもしれない多くの仮定が含まれています(文字列の開始または終了を有効な空白とみなさないという事実、空白の代わりにWhiteSpaceを調べるという事実、これらの前提を確認する必要があります。製)。
namespace ConsoleApplication4
{
using System;
using System.Collections.Generic;
using System.Linq;
public static class StringExtensions
{
public static IEnumerable<int> IndexOfSingleLetterBetweenWhiteSpace(this string text)
{
return Enumerable.Range(1, text.Length-2)
.Where(index => char.IsLetter(text[index])
&& char.IsWhiteSpace(text[index + 1])
&& char.IsWhiteSpace(text[index - 1]));
}
}
class Program
{
static void Main()
{
var text = "This is a test";
var index = text.IndexOfSingleLetterBetweenWhiteSpace().Single();
Console.WriteLine("There is a single letter '{0}' at index {1}", text[index], index);
Console.ReadLine();
}
}
}
これは '' のインデックスの1文字があり
印刷する必要があります8
それは\ S' wは '\ S \よりあらゆる困難にすることはできますか? – Will
あなたは '@" [a-zA-Z] "'を使うつもりです。あなたが持っているものは、文字通り "a-zA-Z"を探しています。 – juharr
また、「文字」とは、任意の文字を意味しますか?または単に 'a-z'と' A-Z'ですか? – Icemanind