Mega Code Archive

 
Categories / C# / Data Types
 

Get the index of a spacer ( space or newline )

/*  * Author: Kishore Reddy  * Url: http://commonlibrarynet.codeplex.com/  * Title: CommonLibrary.NET  * Copyright: ? 2009 Kishore Reddy  * License: LGPL License  * LicenseUrl: http://commonlibrarynet.codeplex.com/license  * Description: A C# based .NET 3.5 Open-Source collection of reusable components.  * Usage: Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ using System; using System.Collections.Generic; using System.Text; namespace GenericCode {         public class StringHelpers     {         /// <summary>         /// Get the index of a spacer ( space" " or newline )         /// </summary>         /// <param name="txt"></param>         /// <param name="currentPosition"></param>         /// <returns></returns>         public static int GetIndexOfSpacer(string txt, int currentPosition, ref bool isNewLine)         {             // Take the first spacer that you find. it could be eithr             // space or newline, if space is before the newline take space             // otherwise newline.                         int ndxSpace = txt.IndexOf(" ", currentPosition);             int ndxNewLine = txt.IndexOf(Environment.NewLine, currentPosition);             bool hasSpace = ndxSpace > -1;             bool hasNewLine = ndxNewLine > -1;             isNewLine = false;             // Found both space and newline.             if (hasSpace && hasNewLine)             {                 if (ndxSpace < ndxNewLine) { return ndxSpace; }                 isNewLine = true;                 return ndxNewLine;             }             // Found space only.             if (hasSpace && !hasNewLine) { return ndxSpace; }             // Found newline only.             if (!hasSpace && hasNewLine) { isNewLine = true; return ndxNewLine; }             // no space or newline.             return -1;         }    } }