mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 15:02:35 +01:00
Merge pull request #2110 from ivandrofly/utilities_opt
[Utilities] - Update/Optimize.
This commit is contained in:
commit
be82eb7375
@ -1202,25 +1202,52 @@ namespace Nikse.SubtitleEdit.Core
|
|||||||
|
|
||||||
private static string ReverseString(string s)
|
private static string ReverseString(string s)
|
||||||
{
|
{
|
||||||
var charArray = s.ToCharArray();
|
int len = s.Length;
|
||||||
Array.Reverse(charArray);
|
if (len <= 1)
|
||||||
return new string(charArray);
|
{
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
char[] chars = new char[len];
|
||||||
|
// O(n)
|
||||||
|
for (int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
chars[i] = s[len - i - 1];
|
||||||
|
}
|
||||||
|
return new string(chars);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string ReverseParenthesis(string s)
|
private static string ReverseParenthesis(string s)
|
||||||
{
|
{
|
||||||
const string k = "@__<<>___@";
|
if (string.IsNullOrEmpty(s))
|
||||||
|
{
|
||||||
s = s.Replace("(", k);
|
|
||||||
s = s.Replace(')', '(');
|
|
||||||
s = s.Replace(k, ")");
|
|
||||||
|
|
||||||
s = s.Replace("[", k);
|
|
||||||
s = s.Replace(']', '[');
|
|
||||||
s = s.Replace(k, "]");
|
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
int len = s.Length;
|
||||||
|
char[] chars = new char[len];
|
||||||
|
// O(n)
|
||||||
|
for (int i = len - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
char ch = s[i];
|
||||||
|
if (ch == '(')
|
||||||
|
{
|
||||||
|
ch = ')';
|
||||||
|
}
|
||||||
|
else if (ch == ')')
|
||||||
|
{
|
||||||
|
ch = '(';
|
||||||
|
}
|
||||||
|
else if (ch == '[')
|
||||||
|
{
|
||||||
|
ch = ']';
|
||||||
|
}
|
||||||
|
else if (ch == ']')
|
||||||
|
{
|
||||||
|
ch = '[';
|
||||||
|
}
|
||||||
|
chars[i] = ch;
|
||||||
|
}
|
||||||
|
return new string(chars);
|
||||||
|
}
|
||||||
|
|
||||||
public static string FixEnglishTextInRightToLeftLanguage(string text, string reverseChars)
|
public static string FixEnglishTextInRightToLeftLanguage(string text, string reverseChars)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user