Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查找以大写字母开头的最后一个子字符串_C#_.net_Substring - Fatal编程技术网

C# 查找以大写字母开头的最后一个子字符串

C# 查找以大写字母开头的最后一个子字符串,c#,.net,substring,C#,.net,Substring,我有一个包含字符串的变量。我想找到从最后一个大写字母开始的子字符串,如下面的“Hig”: 您可以通过以下方法查找所有大写索引: 资料来源: 如果您对字符串运行此命令,请说 "string spam = "abcdeFgihjklmnopQrstuv";" 结果是:5,16 因此,通过从列表中获取最后一个索引(即上面的示例是16),您可以执行str.Substring(result.last()),您可以使用Array.findlastedex和Char.IsUpper来获取索引: string

我有一个包含字符串的变量。我想找到从最后一个大写字母开始的子字符串,如下面的“Hig”:


您可以通过以下方法查找所有大写索引:

资料来源:

如果您对字符串运行此命令,请说

"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