rj-action-library/Runtime/Text/Text.cs

67 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace Rokojori
{
public static class Text
{
public static string EscapeAsPathForCommandLine( this string path )
{
var escaped = path.Replace( "\"", "\\\"" );
return $"\"{escaped}\"";
}
public static string EnsureEndsWith( this string path, string ending )
{
if ( ! path.EndsWith( ending ) )
{
path += ending;
}
return path;
}
public static string Replace( this string source, Regex regex, string replacement )
{
return regex.Replace( source, replacement );
}
public static string SubstringAfterMatching( this string source, string match )
{
var index = source.IndexOf( match );
return index == -1 ? source : source.Substring( index + match.Length );
}
public static long ToLong( this string source )
{
return long.Parse( source );
}
public static string ReplaceStart( this string source, string start, string replacement = "" )
{
if ( source.StartsWith( start ) )
{
return replacement + source.Substring( start.Length );
}
return source;
}
public static string ReplaceEnd( this string source, string ending, string replacement = "" )
{
if ( source.EndsWith( ending ) )
{
return source.Substring( 0, source.Length - ending.Length ) + replacement;
}
return source;
}
}
}