This repository has been archived on 2025-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
Files
skolavdf/phr/StickGame/Assets/FishNet/Plugins/GameKit/Utilities/Strings.cs
2024-03-24 22:21:16 +01:00

64 lines
2.2 KiB
C#

using System;
namespace GameKit.Utilities
{
public static class Strings
{
/// <summary>
/// Attachs or detaches an suffix to a string.
/// </summary>
/// <param name="text"></param>
/// <param name="suffix"></param>
/// <param name="addExtension"></param>
public static string ReturnModifySuffix(string text, string suffix, bool addExtension)
{
/* Since saving to a json, add the .json extension if not present.
* Length must be greater than 6 to contain a character and .json. */
if (text.Length > (suffix.Length + 1))
{
//If to add the extension.
if (addExtension)
{
//If doesn't contain the extension then add it on.
if (!text.Substring(text.Length - suffix.Length).Contains(suffix, StringComparison.CurrentCultureIgnoreCase))
return (text + suffix);
//Already contains extension.
else
return text;
}
//Remove extension.
else
{
//If contains extension.
if (text.Substring(text.Length - suffix.Length).Contains(suffix, StringComparison.CurrentCultureIgnoreCase))
return text.Substring(0, text.Length - (suffix.Length));
//Doesn't contain extension.
return text;
}
}
//Text isn't long enough to manipulate.
else
{
return text;
}
}
/// <summary>
/// Returns if a string contains another string using StringComparison.
/// </summary>
/// <param name="s"></param>
/// <param name="contains"></param>
/// <param name="comp"></param>
/// <returns></returns>
public static bool Contains(this string s, string contains, StringComparison comp)
{
int index = s.IndexOf(contains, comp);
return (index >= 0);
}
}
}