2009-08-26 30 views
0

.NETの文字列で "%"の最終インデックスを取得する方法? 私はこれはいつも私を与えている-1文字列の "%"の最後のインデックスを取得する方法?

string subString = content.Substring(0, startIndex); 
int nextOpeningComment = subString.LastIndexOf("%", 0); 

を試してみました。私は取得しています。ここ

subStringは次のとおりです。

<div id=\"xyz\"> \r\n <img alt=\"\" src=\"App_Themes/Default/Images/abc.jpg\" />\r\n <%-- 

すべてのヘルプ/提案を高く評価しました。

+1

は、あなたが完全な例を持っていますしようとしないのですか? (具体的には、このコードの開始前にcontentとstartIndexは何ですか?) – Richard

+0

この想定されていない場合の 'content'と' startIndex'の値は何ですか? –

答えて

11

このメソッドは、文字列を先頭に向かって逆方向に検索するためです。開始位置0を指定すると、最初の文字から開始するように指示されます。最初の文字が "%"でない限り、残りの文字列に関係なく-1を返します。開始インデックスなしでLastIndexOfオーバーロードを使用すると、予期した結果が得られます。

+0

コンテンツは%が、コンテンツが.Substring(0、startIndex);ないかもしれません:-) – ThePower

+0

もちろん私は自信があります...それは実際に働いていない... "%"のような特別なシンボルであり、いくつかの他の治療が必要ですか? – Manish

+0

マニッシュ:私の更新された回答を参照してください:私はあなたの問題が何であるか(私は思って)実現しました... –

10

あなたは%の出現を探していますが、0番地から始めて、を後方からから検索しています。 0の位置には%という文字はありません。そのため、LastIndexOfの呼び出しは-1を返します。

あなたは文字列の最後にあなたの検索を開始する必要があります。

string subString = content.Substring(0, startIndex); 
int nextOpeningComment = subString.LastIndexOf("%"); 
+0

偉大な...仕事... ....ありがとう... – Manish

4

何%が文字列内に存在しない場合、その後の-1リターンが期待されると設計によるものです。要求された文字列が値 "subString"に存在しないことを示します。

+0

ありがとう...しかし、私は本当にこの事を知っている...と文字列に%があります... – Manish

3

そこが0から始まる文字列の末尾からのシンボルが

content.LastIndexOf("%"); 
+0

素晴らしい...それは働いた...ありがとう....それは0のbcozだった! – Manish

関連する問題