//CruiseControl is open source software and is developed and maintained by a group of dedicated volunteers.
//CruiseControl is distributed under a BSD-style license.
//http://cruisecontrol.sourceforge.net/
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
namespace ThoughtWorks.CruiseControl.Core.Util
{
/// <summary>
/// Class with handy stirng routines
/// </summary>
public class StringUtil
{
/// <summary>
/// Removes leading and trailing quotes "
/// </summary>
/// <param name="filename"></param>
/// <returns></returns>
public static string StripQuotes(string filename)
{
return filename == null ? null : filename.Trim('"');
}
/// <summary>
/// removes invalid charactes from filenames, like the slash and backslash
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public static string RemoveInvalidCharactersFromFileName(string fileName)
{
return Strip(fileName, "\\", "/", ":", "*", "?", "\"", "<", ">", "|");
}
/// <summary>
/// removes the specified strings in the string array from the input string
/// </summary>
/// <param name="input"></param>
/// <param name="removals"></param>
/// <returns></returns>
public static string Strip(string input, params string[] removals)
{
string revised = input;
foreach (string removal in removals)
{
int i;
while ((i = revised.IndexOf(removal)) > -1)
revised = revised.Remove(i, removal.Length);
}
return revised;
}
}
}
|