C# 查找以大写字母开头的最后一个子字符串
我有一个包含字符串的变量。我想找到从最后一个大写字母开始的子字符串,如下面的“Hig”:C# 查找以大写字母开头的最后一个子字符串,c#,.net,substring,C#,.net,Substring,我有一个包含字符串的变量。我想找到从最后一个大写字母开始的子字符串,如下面的“Hig”: 您可以通过以下方法查找所有大写索引: 资料来源: 如果您对字符串运行此命令,请说 "string spam = "abcdeFgihjklmnopQrstuv";" 结果是:5,16 因此,通过从列表中获取最后一个索引(即上面的示例是16),您可以执行str.Substring(result.last()),您可以使用Array.findlastedex和Char.IsUpper来获取索引: string
您可以通过以下方法查找所有大写索引: 资料来源: 如果您对字符串运行此命令,请说
"string spam = "abcdeFgihjklmnopQrstuv";"
结果是:5,16
因此,通过从列表中获取最后一个索引(即上面的示例是16),您可以执行
str.Substring(result.last())
,您可以使用Array.findlastedex
和Char.IsUpper
来获取索引:
string str = "AbcDefHig";
int lastCapital = Array.FindLastIndex<char>(str.ToCharArray(), Char.IsUpper);
string result = null;
if (lastCapital >= 0)
result = str.Substring(lastCapital); // Hig
string str=“AbcDefHig”;
int lastCapital=Array.findlastinex(str.ToCharArray(),Char.IsUpper);
字符串结果=null;
如果(lastCapital>=0)
结果=str.Substring(lastCapital);//高
预期结果是什么?您想查找Hig
,因为这是一个以大写字母H
开头的子字符串?是的,我想查找一个从最后一个大写字母开始的子字符串,即Hig和ignoreAbcDef@GhanshyamShukla你应该接受蒂姆的答案——它是正确的,而不是word.ElementAt(i)
使用word[i]
。也不要对正常工作流使用异常。在使用子字符串之前,只需将int
值存储在变量中,并将其与-1
进行比较。是的,您是对的,这只是为了快速,我将编辑现在如果输入没有大写字母,它将抛出(在word.Substring(-1)
)。您可以检查是否存在异常或结果是否大于零?spam。如果输入多次包含相同的大写字符,IndexOf(ch)
将返回第一次出现的索引。@GhanshyamShukla:不客气。如果你的问题得到了回答,记得接受答案。
var result = (from ch in spam.ToArray() where Char.IsUpper(ch)
select spam.IndexOf(ch))
"string spam = "abcdeFgihjklmnopQrstuv";"
string str = "AbcDefHig";
int lastCapital = Array.FindLastIndex<char>(str.ToCharArray(), Char.IsUpper);
string result = null;
if (lastCapital >= 0)
result = str.Substring(lastCapital); // Hig