//http://www.bouncycastle.org/ //MIT X11 License using System.IO; using System.Text; public class MainClass { static string GetNewLine() { MemoryStream buf = new MemoryStream(); StreamWriter w = new StreamWriter(buf, Encoding.ASCII); w.WriteLine(); w.Close(); byte[] bs = buf.ToArray(); return Encoding.ASCII.GetString(bs, 0, bs.Length); } }
Software Development
software development notes, main category for Cs, Java, and other programming experiences.
Provides a collection of convenience methods for processing and creating objects with String
value components.
//
// (C) Copyright 2009 Irantha Suwandarathna (irantha@gmail.com)
// All rights reserved.
//
/* Copyright (c) 2001-2008, The HSQL Development Group
* All rights reserved.
*
* Redistribution and use _in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions _in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer _in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of the HSQL Development Group nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Text;
using System.Collections.Generic;
namespace EffiProz.Core.Lib
{
/** Provides a collection of convenience methods for processing and
* creating objects with String
value components.
*
* @author fredt@users
* @author boucherb@users
* @version 1.7.2
* @since 1.7.0
*/
public class StringUtil
{
public static String toPaddedString(String source, int length, char pad,
bool trailing)
{
int len = source.Length;
if (len >= length)
{
return source;
}
StringBuilder sb = new StringBuilder(length);
if (trailing)
{
sb.Append(source);
}
for (int i = len; i < length; i++) { sb.Append(pad); } if (!trailing) { sb.Append(source); } return sb.ToString(); } } } [/csharp]
Skips any spaces at or after start and returns the index of first non-space character;
//
// (C) Copyright 2009 Irantha Suwandarathna (irantha@gmail.com)
// All rights reserved.
//
/* Copyright (c) 2001-2008, The HSQL Development Group
* All rights reserved.
*
* Redistribution and use _in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions _in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer _in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of the HSQL Development Group nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Text;
using System.Collections.Generic;
namespace EffiProz.Core.Lib
{
/** Provides a collection of convenience methods for processing and
* creating objects with String
value components.
*
* @author fredt@users
* @author boucherb@users
* @version 1.7.2
* @since 1.7.0
*/
public class StringUtil
{
/**
* Skips any spaces at or after start and returns the index of first
* non-space character;
* @param s the string
* @param start index to start
* @return index of first non-space
*/
public static int skipSpaces(string s, int start)
{
int limit = s.Length;
int i = start;
for (; i < limit; i++) { if (s[(i)] != ' ') { break; } } return i; } } } [/csharp]
Returns the size of substring that does not contain any trailing spaces
// // (C) Copyright 2009 Irantha Suwandarathna (irantha@gmail.com) // All rights reserved. // /* Copyright (c) 2001-2008, The HSQL Development Group * All rights reserved. * * Redistribution and use _in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * Redistributions _in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer _in the documentation * and/or other materials provided with the distribution. * * Neither the name of the HSQL Development Group nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Text; using System.Collections.Generic; namespace EffiProz.Core.Lib { /** Provides a collection of convenience methods for processing and * creating objects with <code>String</code> value components. * * @author fredt@users * @author boucherb@users * @version 1.7.2 * @since 1.7.0 */ public class StringUtil { /** * Returns the size of substring that does not contain any trailing spaces * @param s the string * @return trimmed size */ public static int rightTrimSize(String s) { int i = s.Length; while (i > 0) { i--; if (s[i] != ' ') { return i + 1; } } return 0; } } }
Convert String To Upper Ignore Null
//http://validationframework.codeplex.kutayzorlu.com/ //License: Microsoft Permissive License (Ms-PL) v1.1 using System; using System.Globalization; using System.IO; using System.Text; using System.Xml; namespace ValidationFramework.Extensions { /// <summary> /// String helper methods /// </summary> public static class StringExtensions { internal static string ToUpperIgnoreNull(this string value) { if (value != null) { value = value.ToUpper(CultureInfo.InvariantCulture); } return value; } } }
Splits string name into a readable string based on camel casing.
//http://validationframework.codeplex.com/
//License: Microsoft Permissive License (Ms-PL) v1.1
using System;
using System.Globalization;
using System.IO;
using System.Text;
using System.Xml;
namespace ValidationFramework.Extensions
{
///
///
public static class StringExtensions
{ ///
///
/// The string to split.
///
///
public static string ToCamelTokenized(this string value)
{
string space = ” “;
if (value.Length ==0)
{
return value;
}
var stringBuilder = new StringBuilder(value.Length);
stringBuilder.Append(value[0]);
for (var index = 1; index < value.Length; index++)
{
var c = value[index];
if (Char.IsUpper(c))
{
stringBuilder.Append(space);
}
stringBuilder.Append(c);
}
return stringBuilder.ToString();
}
}
}
[/csharp]
Ensures the target string ends with the specified string.
#region License // Copyright (c) 2007 James Newton-King // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation // files (the "Software"), to deal in the Software without // restriction, including without limitation the rights to use, // copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following // conditions: // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. #endregion using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace Newtonsoft.Utilities.Text { public static class StringExtensions { /// <summary> /// Ensures the target string ends with the specified string. /// </summary> /// <param name="target">The target.</param> /// <param name="value">The value.</param> /// <returns>The target string with the value string at the end.</returns> public static string EnsureEndsWith(this string target, string value) { if (target == null) throw new ArgumentNullException("target"); if (value == null) throw new ArgumentNullException("value"); if (target.Length >= value.Length) { if (string.Compare(target, target.Length - value.Length, value, 0, value.Length, StringComparison.OrdinalIgnoreCase) == 0) return target; string trimmedString = target.TrimEnd(null); if (string.Compare(trimmedString, trimmedString.Length - value.Length, value, 0, value.Length, StringComparison.OrdinalIgnoreCase) == 0) return target; } return target + value; } } }