Improved performance of IndoxOf method

This commit is contained in:
niksedk 2014-08-30 21:57:17 +02:00
parent 52fa865572
commit 0826d25e31
11 changed files with 97 additions and 99 deletions

View File

@ -206,6 +206,7 @@ namespace Nikse.SubtitleEdit.Forms
labelProgress.Text = string.Empty;
File.Delete(targetFile);
this.DialogResult = DialogResult.OK;
process.Dispose();
}
private void ReadWaveFile(string targetFile, int delayInMilliseconds)
@ -262,6 +263,7 @@ namespace Nikse.SubtitleEdit.Forms
}
}
}
mkv.Dispose();
}
catch
{
@ -310,6 +312,7 @@ namespace Nikse.SubtitleEdit.Forms
DialogResult = DialogResult.Cancel;
return;
}
form.Dispose();
}
// check for delay in matroska files
@ -322,6 +325,7 @@ namespace Nikse.SubtitleEdit.Forms
{
_delayInMilliseconds = (int)mkv.GetTrackStartTime(mkvAudioTrackNumbers[_audioTrackNumber]);
}
mkv.Dispose();
}
catch
{

View File

@ -1503,7 +1503,7 @@ namespace Nikse.SubtitleEdit.Forms
if (!quote.Contains(Environment.NewLine))
{
string newText = p.Text;
int indexOfFontTag = newText.ToLower().IndexOf("<font ");
int indexOfFontTag = newText.ToLower().IndexOf("<font ", StringComparison.Ordinal);
if (start > 0 && !(Environment.NewLine + " >[(♪♫¿").Contains(p.Text[start - 1].ToString()))
{
if (indexOfFontTag == -1 || start > newText.IndexOf('>', indexOfFontTag)) // font tags can contain "
@ -1554,9 +1554,9 @@ namespace Nikse.SubtitleEdit.Forms
}
//fix missing spaces in "Hey...move it!" to "Hey... move it!"
if ((p.Text.Contains("...") && p.Text.Length > 5))
int index = p.Text.IndexOf("...", StringComparison.Ordinal);
if (index >= 0 && p.Text.Length > 5)
{
int index = p.Text.IndexOf("...");
string newText = p.Text;
while (index != -1)
{
@ -1566,7 +1566,7 @@ namespace Nikse.SubtitleEdit.Forms
Utilities.AllLettersAndNumbers.Contains(newText[index - 1].ToString()))
newText = newText.Insert(index + 3, " ");
}
index = newText.IndexOf("...", index + 2);
index = newText.IndexOf("...", index + 2, StringComparison.Ordinal);
}
if (newText != p.Text && AllowFix(p, fixAction))
{
@ -1580,9 +1580,9 @@ namespace Nikse.SubtitleEdit.Forms
}
//fix missing spaces in "The<i>Bombshell</i> will gone." to "The <i>Bombshell</i> will gone."
if ((p.Text.Contains("<i>") && p.Text.Length > 5))
index = p.Text.IndexOf("<i>", StringComparison.Ordinal);
if (index >= 0 && p.Text.Length > 5)
{
int index = p.Text.IndexOf("<i>");
string newText = p.Text;
while (index != -1)
{
@ -1592,7 +1592,7 @@ namespace Nikse.SubtitleEdit.Forms
Utilities.AllLettersAndNumbers.Contains(newText[index - 1].ToString()))
newText = newText.Insert(index, " ");
}
index = newText.IndexOf("<i>", index + 3);
index = newText.IndexOf("<i>", index + 3, StringComparison.Ordinal);
}
if (newText != p.Text && AllowFix(p, fixAction))
{
@ -1606,9 +1606,9 @@ namespace Nikse.SubtitleEdit.Forms
}
//fix missing spaces in "The <i>Bombshell</i>will gone." to "The <i>Bombshell</i> will gone."
if ((p.Text.Contains("</i>") && p.Text.Length > 5))
index = p.Text.IndexOf("</i>", StringComparison.Ordinal);
if (index >= 0 && p.Text.Length > 5)
{
int index = p.Text.IndexOf("</i>");
string newText = p.Text;
while (index != -1)
{
@ -1618,7 +1618,7 @@ namespace Nikse.SubtitleEdit.Forms
Utilities.AllLettersAndNumbers.Contains(newText[index - 1].ToString()))
newText = newText.Insert(index + 4, " ");
}
index = newText.IndexOf("</i>", index + 4);
index = newText.IndexOf("</i>", index + 4, StringComparison.Ordinal);
}
if (newText != p.Text && AllowFix(p, fixAction))
{
@ -1746,13 +1746,13 @@ namespace Nikse.SubtitleEdit.Forms
p.Text = p.Text.Trim().Replace(" " + Environment.NewLine, Environment.NewLine);
p.Text = p.Text.Replace(Environment.NewLine, "\"" + Environment.NewLine);
}
else if (line.Length > 5 && line.EndsWith("\"") && line.IndexOf("- ") >= 0 && line.IndexOf("- ") < 4)
else if (line.Length > 5 && line.EndsWith("\"") && line.IndexOf("- ", StringComparison.Ordinal) >= 0 && line.IndexOf("- ", StringComparison.Ordinal) < 4)
{
p.Text = p.Text.Insert(line.IndexOf("- ") + 2, "\"");
p.Text = p.Text.Insert(line.IndexOf("- ", StringComparison.Ordinal) + 2, "\"");
}
else if (line.Contains("\"") && line.IndexOf("\"") > 2 && line.IndexOf("\"") < line.Length - 3)
else if (line.Contains("\"") && line.IndexOf("\"", StringComparison.Ordinal) > 2 && line.IndexOf("\"", StringComparison.Ordinal) < line.Length - 3)
{
int index = line.IndexOf("\"");
int index = line.IndexOf("\"", StringComparison.Ordinal);
if (line[index - 1] == ' ')
{
p.Text = p.Text.Trim().Replace(" " + Environment.NewLine, Environment.NewLine);
@ -1760,8 +1760,8 @@ namespace Nikse.SubtitleEdit.Forms
}
else if (line[index + 1] == ' ')
{
if (line.Length > 5 && line.IndexOf("- ") >= 0 && line.IndexOf("- ") < 4)
p.Text = p.Text.Insert(line.IndexOf("- ") + 2, "\"");
if (line.Length > 5 && line.IndexOf("- ", StringComparison.Ordinal) >= 0 && line.IndexOf("- ", StringComparison.Ordinal) < 4)
p.Text = p.Text.Insert(line.IndexOf("- ", StringComparison.Ordinal) + 2, "\"");
}
}
else if (lines[1].Contains("\""))
@ -1771,21 +1771,21 @@ namespace Nikse.SubtitleEdit.Forms
{
p.Text = p.Text.Trim() + "\"";
}
else if (line.Length > 5 && line.EndsWith("\"") && p.Text.IndexOf(Environment.NewLine + "- ") >= 0)
else if (line.Length > 5 && line.EndsWith("\"") && p.Text.IndexOf(Environment.NewLine + "- ", StringComparison.Ordinal) >= 0)
{
p.Text = p.Text.Insert(p.Text.IndexOf(Environment.NewLine + "- ") + Environment.NewLine.Length + 2, "\"");
p.Text = p.Text.Insert(p.Text.IndexOf(Environment.NewLine + "- ", StringComparison.Ordinal) + Environment.NewLine.Length + 2, "\"");
}
else if (line.Contains("\"") && line.IndexOf("\"") > 2 && line.IndexOf("\"") < line.Length - 3)
else if (line.Contains("\"") && line.IndexOf("\"", StringComparison.Ordinal) > 2 && line.IndexOf("\"", StringComparison.Ordinal) < line.Length - 3)
{
int index = line.IndexOf("\"");
int index = line.IndexOf("\"", StringComparison.Ordinal);
if (line[index - 1] == ' ')
{
p.Text = p.Text.Trim() + "\"";
}
else if (line[index + 1] == ' ')
{
if (line.Length > 5 && p.Text.IndexOf(Environment.NewLine + "- ") >= 0)
p.Text = p.Text.Insert(p.Text.IndexOf(Environment.NewLine + "- ") + Environment.NewLine.Length + 2, "\"");
if (line.Length > 5 && p.Text.IndexOf(Environment.NewLine + "- ", StringComparison.Ordinal) >= 0)
p.Text = p.Text.Insert(p.Text.IndexOf(Environment.NewLine + "- ", StringComparison.Ordinal) + Environment.NewLine.Length + 2, "\"");
}
}
}
@ -2146,13 +2146,13 @@ namespace Nikse.SubtitleEdit.Forms
if (p.Text.Length > 4)
{
int indexOfNewLine = p.Text.IndexOf(Environment.NewLine + " -", 3);
int indexOfNewLine = p.Text.IndexOf(Environment.NewLine + " -", 3, StringComparison.Ordinal);
if (indexOfNewLine == -1)
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "-", 3);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "-", 3, StringComparison.Ordinal);
if (indexOfNewLine == -1)
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i>-", 3);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i>-", 3, StringComparison.Ordinal);
if (indexOfNewLine == -1)
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i> -", 3);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i> -", 3, StringComparison.Ordinal);
if (indexOfNewLine > 0)
{
if (Configuration.Settings.General.UppercaseLetters.Contains(p.Text[indexOfNewLine - 1].ToString().ToUpper()))
@ -2464,40 +2464,40 @@ namespace Nikse.SubtitleEdit.Forms
if (p.Text.Length > 4)
{
int len = 0;
int indexOfNewLine = p.Text.IndexOf(Environment.NewLine + " -", 1);
int indexOfNewLine = p.Text.IndexOf(Environment.NewLine + " -", 1, StringComparison.Ordinal);
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "- <i> ♪", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "- <i> ♪", 1, StringComparison.Ordinal);
len = "- <i> ♪".Length;
}
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "-", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "-", 1, StringComparison.Ordinal);
len = "-".Length;
}
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i>-", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i>-", 1, StringComparison.Ordinal);
len = "<i>-".Length;
}
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i> -", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i> -", 1, StringComparison.Ordinal);
len = "<i> -".Length;
}
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "♪ -", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "♪ -", 1, StringComparison.Ordinal);
len = "♪ -".Length;
}
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "♪ <i> -", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "♪ <i> -", 1, StringComparison.Ordinal);
len = "♪ <i> -".Length;
}
if (indexOfNewLine == -1)
{
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "♪ <i>-", 1);
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "♪ <i>-", 1, StringComparison.Ordinal);
len = "♪ <i>-".Length;
}
@ -2677,7 +2677,7 @@ namespace Nikse.SubtitleEdit.Forms
else if (p.Text.Substring(j).StartsWith("<u>"))
skipCount = 2;
else if (p.Text.Substring(j).StartsWith("<font ") && p.Text.Substring(j).Contains(">"))
skipCount = p.Text.Substring(j).IndexOf(">") - p.Text.Substring(j).IndexOf("<font ");
skipCount = p.Text.Substring(j).IndexOf(">", StringComparison.Ordinal) - p.Text.Substring(j).IndexOf("<font ", StringComparison.Ordinal);
else if (IsTurkishLittleI(s, _encoding, Language))
{
p.Text = p.Text.Remove(j, 1).Insert(j, GetTurkishUppercaseLetter(s, _encoding));
@ -2848,11 +2848,11 @@ namespace Nikse.SubtitleEdit.Forms
}
else
{
int index = text.IndexOf(". -");
int index = text.IndexOf(". -", StringComparison.Ordinal);
if (index < 0)
index = text.IndexOf("! -");
index = text.IndexOf("! -", StringComparison.Ordinal);
if (index < 0)
index = text.IndexOf("? -");
index = text.IndexOf("? -", StringComparison.Ordinal);
if (index > 0)
{
text = text.Remove(index + 1, 1).Insert(index + 1, Environment.NewLine);
@ -3045,19 +3045,19 @@ namespace Nikse.SubtitleEdit.Forms
if (remove)
{
int idx = text.IndexOf("-");
int idx = text.IndexOf("-", StringComparison.Ordinal);
var st = new StripableText(text);
if (idx < 5 && st.Pre.Length >= idx)
{
text = text.Remove(idx, 1).TrimStart();
idx = text.IndexOf("-");
idx = text.IndexOf("-", StringComparison.Ordinal);
st = new StripableText(text);
if (idx < 5 && idx >= 0 && st.Pre.Length >= idx)
{
text = text.Remove(idx, 1).TrimStart();
st = new StripableText(text);
}
idx = text.IndexOf("-");
idx = text.IndexOf("-", StringComparison.Ordinal);
if (idx < 5 && idx >= 0 && st.Pre.Length >= idx)
text = text.Remove(idx, 1).TrimStart();
@ -3070,12 +3070,12 @@ namespace Nikse.SubtitleEdit.Forms
int idxNL = text.IndexOf(Environment.NewLine);
if (idxNL > 0)
{
idx = text.IndexOf("-", idxNL);
idx = text.IndexOf("-", idxNL, StringComparison.Ordinal);
if (idx >= 0 && idxNL + 5 > idxNL)
{
text = text.Remove(idx, 1).TrimStart().Replace(Environment.NewLine + " ", Environment.NewLine);
idx = text.IndexOf("-", idxNL);
idx = text.IndexOf("-", idxNL, StringComparison.Ordinal);
if (idx >= 0 && idxNL + 5 > idxNL)
{
text = text.Remove(idx, 1).TrimStart();
@ -3179,7 +3179,7 @@ namespace Nikse.SubtitleEdit.Forms
if (doAdd)
{
int idx = text.IndexOf("-");
int idx = text.IndexOf("-", StringComparison.Ordinal);
if (idx < 5)
{
// add dash in second line.
@ -4259,14 +4259,14 @@ namespace Nikse.SubtitleEdit.Forms
if (!skip)
{
int startIndex = 0;
int markIndex = p.Text.IndexOf(mark);
if (!wasLastLineClosed && ((p.Text.IndexOf("!") > 0 && p.Text.IndexOf("!") < markIndex) ||
(p.Text.IndexOf("?") > 0 && p.Text.IndexOf("?") < markIndex) ||
(p.Text.IndexOf(".") > 0 && p.Text.IndexOf(".") < markIndex)))
int markIndex = p.Text.IndexOf(mark, StringComparison.Ordinal);
if (!wasLastLineClosed && ((p.Text.IndexOf("!", StringComparison.Ordinal) > 0 && p.Text.IndexOf("!", StringComparison.Ordinal) < markIndex) ||
(p.Text.IndexOf("?", StringComparison.Ordinal) > 0 && p.Text.IndexOf("?", StringComparison.Ordinal) < markIndex) ||
(p.Text.IndexOf(".", StringComparison.Ordinal) > 0 && p.Text.IndexOf(".", StringComparison.Ordinal) < markIndex)))
wasLastLineClosed = true;
while (markIndex > 0 && startIndex < p.Text.Length)
{
int inverseMarkIndex = p.Text.IndexOf(inverseMark, startIndex);
int inverseMarkIndex = p.Text.IndexOf(inverseMark, startIndex, StringComparison.Ordinal);
if (wasLastLineClosed && (inverseMarkIndex == -1 || inverseMarkIndex > markIndex))
{
if (AllowFix(p, fixAction))
@ -4302,16 +4302,16 @@ namespace Nikse.SubtitleEdit.Forms
string part = p.Text.Substring(j, markIndex - j + 1);
string speaker = string.Empty;
int speakerEnd = part.IndexOf(")");
if (part.StartsWith("(") && speakerEnd > 0 && speakerEnd < part.IndexOf(mark))
int speakerEnd = part.IndexOf(")", StringComparison.Ordinal);
if (part.StartsWith("(") && speakerEnd > 0 && speakerEnd < part.IndexOf(mark, StringComparison.Ordinal))
{
while (Environment.NewLine.Contains(part[speakerEnd + 1].ToString()))
speakerEnd++;
speaker = part.Substring(0, speakerEnd + 1);
part = part.Substring(speakerEnd + 1);
}
speakerEnd = part.IndexOf("]");
if (part.StartsWith("[") && speakerEnd > 0 && speakerEnd < part.IndexOf(mark))
speakerEnd = part.IndexOf("]", StringComparison.Ordinal);
if (part.StartsWith("[") && speakerEnd > 0 && speakerEnd < part.IndexOf(mark, StringComparison.Ordinal))
{
while (Environment.NewLine.Contains(part[speakerEnd + 1].ToString()))
speakerEnd++;
@ -4348,7 +4348,7 @@ namespace Nikse.SubtitleEdit.Forms
}
}
}
else if (last != null && !wasLastLineClosed && inverseMarkIndex == p.Text.IndexOf(mark) && !last.Text.Contains(inverseMark))
else if (last != null && !wasLastLineClosed && inverseMarkIndex == p.Text.IndexOf(mark, StringComparison.Ordinal) && !last.Text.Contains(inverseMark))
{
string lastOldtext = last.Text;
int idx = last.Text.Length - 2;
@ -4363,7 +4363,7 @@ namespace Nikse.SubtitleEdit.Forms
startIndex = markIndex + 2;
if (startIndex < p.Text.Length)
markIndex = p.Text.IndexOf(mark, startIndex);
markIndex = p.Text.IndexOf(mark, startIndex, StringComparison.Ordinal);
else
markIndex = -1;
wasLastLineClosed = true;
@ -4376,7 +4376,7 @@ namespace Nikse.SubtitleEdit.Forms
}
else if (Utilities.CountTagInText(p.Text, inverseMark) == 1)
{
int idx = p.Text.IndexOf(inverseMark);
int idx = p.Text.IndexOf(inverseMark, StringComparison.Ordinal);
while (idx < p.Text.Length && !".!?".Contains(p.Text[idx].ToString()))
{
idx++;

View File

@ -250,9 +250,9 @@ namespace Nikse.SubtitleEdit.Forms
if (index < _translatedSubtitle.Paragraphs.Count)
{
string cleanText = s.Replace("</p>", string.Empty).Trim();
int indexOfP = cleanText.IndexOf(_splitterString.Trim());
int indexOfP = cleanText.IndexOf(_splitterString.Trim(), StringComparison.Ordinal);
if (indexOfP >= 0 && indexOfP < 4)
cleanText = cleanText.Remove(0, cleanText.IndexOf(_splitterString.Trim()));
cleanText = cleanText.Remove(0, cleanText.IndexOf(_splitterString.Trim(), StringComparison.Ordinal));
cleanText = cleanText.Replace(_splitterString.Trim(), string.Empty).Trim();
if (cleanText.Contains("\n") && !cleanText.Contains("\r"))
cleanText = cleanText.Replace("\n", Environment.NewLine);
@ -336,8 +336,8 @@ namespace Nikse.SubtitleEdit.Forms
string key = "{\"translatedText\":";
if (content.Contains(key))
{
int start = content.IndexOf(key) + key.Length + 1;
int end = content.IndexOf("\"}", start);
int start = content.IndexOf(key, StringComparison.Ordinal) + key.Length + 1;
int end = content.IndexOf("\"}", start, StringComparison.Ordinal);
string translatedText = content.Substring(start, end - start);
string test = translatedText.Replace("\\u003c", "<");
test = test.Replace("\\u003e", ">");
@ -361,14 +361,12 @@ namespace Nikse.SubtitleEdit.Forms
private static string RemovePStyleParameters(string test)
{
string key = "<p style";
while (test.Contains(key))
int startPosition = test.IndexOf(key, StringComparison.Ordinal);
while (startPosition >= 0)
{
int startPosition = test.IndexOf(key);
int endPosition = test.IndexOf(">", startPosition + key.Length);
if (endPosition == -1)
return test;
test = test.Remove(startPosition + 2, endPosition - startPosition - 2);
int endPosition = test.IndexOf(">", startPosition + key.Length, StringComparison.Ordinal);
if (endPosition > 0)
return test.Remove(startPosition + 2, endPosition - startPosition - 2);
}
return test;
}

View File

@ -18473,7 +18473,7 @@ namespace Nikse.SubtitleEdit.Forms
fileName = fileName.Substring(0, fileName.Length - 1);
fileName += ultech130.Extension;
}
ultech130.Save(fileName, _subtitle);
Ultech130.Save(fileName, _subtitle);
}
}

View File

@ -12,7 +12,6 @@ namespace Nikse.SubtitleEdit.Forms
{
List<Paragraph> _paragraphs;
VideoInfo _videoInfo;
string _totalPositionString = string.Empty;
string _subtitleFileName;
Subtitle _originalSubtitle;
double _oldFramerate;
@ -237,9 +236,6 @@ namespace Nikse.SubtitleEdit.Forms
if (!string.IsNullOrEmpty(_videoInfo.VideoCodec))
labelVideoInfo.Text += string.Format(_languageGeneral.VideoEncodingX, _videoInfo.VideoCodec) + " ";
TimeSpan span = TimeSpan.FromMilliseconds(_videoInfo.TotalMilliseconds);
_totalPositionString = " / " + string.Format("{0:00}:{1:00}:{2:00},{3:000}", span.Hours, span.Minutes, span.Seconds, span.Milliseconds);
return _videoInfo;
}

View File

@ -4479,7 +4479,7 @@ namespace Nikse.SubtitleEdit.Forms
private string FixNocrHardcodedStuff(string line)
{
// fix I/l
int start = line.IndexOf("I");
int start = line.IndexOf("I", StringComparison.Ordinal);
while (start > 0)
{
if (start > 0 && line[start - 1].ToString() != line[start - 1].ToString().ToUpper())
@ -4495,7 +4495,7 @@ namespace Nikse.SubtitleEdit.Forms
if (start < line.Length - 1 && line[start + 1].ToString() != line[start + 1].ToString().ToLower())
line = line.Remove(start, 1).Insert(start, "I");
start++;
start = line.IndexOf("l", start);
start = line.IndexOf("l", start, StringComparison.Ordinal);
}
if (line.Contains("l"))
{
@ -5720,14 +5720,14 @@ namespace Nikse.SubtitleEdit.Forms
{
string s = html.Replace("<em>", "@001_____").Replace("</em>", "@002_____");
int first = s.IndexOf("<");
int first = s.IndexOf("<", StringComparison.Ordinal);
while (first >= 0)
{
int last = s.IndexOf(">", first);
int last = s.IndexOf(">", first, StringComparison.Ordinal);
if (last > 0)
{
s = s.Remove(first, last - first + 1);
first = s.IndexOf("<");
first = s.IndexOf("<", StringComparison.Ordinal);
}
else
{
@ -6468,7 +6468,7 @@ namespace Nikse.SubtitleEdit.Forms
if (s.StartsWith("I <i>"))
s = ("<i>I " + s.Remove(0, 5)).Replace(" ", " ");
else if (italicStartCount == 1 && s.Length > 20 &&
s.IndexOf("<i>") > 1 && s.IndexOf("<i>") < 10 && s.EndsWith("</i>"))
s.IndexOf("<i>", StringComparison.Ordinal) > 1 && s.IndexOf("<i>", StringComparison.Ordinal) < 10 && s.EndsWith("</i>"))
s = "<i>" + s.Replace("<i>", string.Empty).Replace("</i>", string.Empty) + "</i>";
s = s.Replace("</i>" + Environment.NewLine + "<i>", Environment.NewLine);
return s;
@ -7038,7 +7038,7 @@ namespace Nikse.SubtitleEdit.Forms
string text = lb.Items[lb.SelectedIndex].ToString();
if (text.Contains(":"))
{
string number = text.Substring(1, text.IndexOf(":") - 1);
string number = text.Substring(1, text.IndexOf(":", StringComparison.Ordinal) - 1);
subtitleListView1.SelectIndexAndEnsureVisible(int.Parse(number) - 1);
}
}
@ -7972,7 +7972,7 @@ namespace Nikse.SubtitleEdit.Forms
if (_ocrFixEngine == null)
comboBoxDictionaries_SelectedIndexChanged(null, null);
text = text.Substring(text.IndexOf(":") + 1).Trim();
text = text.Substring(text.IndexOf(":", StringComparison.Ordinal) + 1).Trim();
var form = new AddToNamesList();
form.Initialize(_subtitle, comboBoxDictionaries.Text, text);
if (form.ShowDialog(this) == DialogResult.OK)
@ -7995,7 +7995,7 @@ namespace Nikse.SubtitleEdit.Forms
string text = listBoxUnknownWords.SelectedItems[0].ToString();
if (text.Contains(":"))
{
text = text.Substring(text.IndexOf(":") + 1).Trim().ToLower();
text = text.Substring(text.IndexOf(":", StringComparison.Ordinal) + 1).Trim().ToLower();
var form = new AddToUserDic();
form.Initialize(comboBoxDictionaries.Text, text);
if (form.ShowDialog(this) == DialogResult.OK)
@ -8018,7 +8018,7 @@ namespace Nikse.SubtitleEdit.Forms
string text = listBoxUnknownWords.SelectedItems[0].ToString();
if (text.Contains(":"))
{
text = text.Substring(text.IndexOf(":") + 1).Trim().ToLower();
text = text.Substring(text.IndexOf(":", StringComparison.Ordinal) + 1).Trim().ToLower();
var form = new AddToOcrReplaceList();
form.Initialize(_languageId, comboBoxDictionaries.Text, text);
if (form.ShowDialog(this) == DialogResult.OK)
@ -8041,7 +8041,7 @@ namespace Nikse.SubtitleEdit.Forms
string text = listBoxUnknownWords.SelectedItems[0].ToString();
if (text.Contains(":"))
{
text = text.Substring(text.IndexOf(":") + 1).Trim();
text = text.Substring(text.IndexOf(":", StringComparison.Ordinal) + 1).Trim();
System.Diagnostics.Process.Start("http://www.google.com/search?q=" + Utilities.UrlEncode(text));
}
}

View File

@ -45,19 +45,19 @@ namespace Nikse.SubtitleEdit.Logic
if (text.StartsWith("{\\"))
{
int endIndex = text.IndexOf("}");
if (endIndex > 0 && (text.IndexOf("{", 1) == -1 || text.IndexOf("{", 1) > endIndex))
int endIndex = text.IndexOf("}", StringComparison.Ordinal);
if (endIndex > 0 && (text.IndexOf("{", 1, StringComparison.Ordinal) == -1 || text.IndexOf("{", 1, StringComparison.Ordinal) > endIndex))
{
int index = text.IndexOf("}") + 1;
int index = text.IndexOf("}", StringComparison.Ordinal) + 1;
Pre += text.Substring(0, index);
text = text.Substring(index);
}
}
// tags like <i> or <font color="#ff0000">
if (text.StartsWith("<") && text.IndexOf(">") <= 21)
if (text.StartsWith("<") && text.IndexOf(">", StringComparison.Ordinal) <= 21)
{
int index = text.IndexOf(">") + 1;
int index = text.IndexOf(">", StringComparison.Ordinal) + 1;
Pre += text.Substring(0, index);
text = text.Substring(index);
}
@ -127,7 +127,7 @@ namespace Nikse.SubtitleEdit.Logic
foreach (string name in namesEtc)
{
int start = lower.IndexOf(name.ToLower());
int start = lower.IndexOf(name.ToLower(), StringComparison.Ordinal);
while (start >= 0 && start < lower.Length)
{
bool startOk = (start == 0) || (lower[start - 1] == ' ') || (lower[start - 1] == '-') ||
@ -153,7 +153,7 @@ namespace Nikse.SubtitleEdit.Logic
if (start + 3 > lower.Length)
start = lower.Length + 1;
else
start = lower.IndexOf(name.ToLower(), start +3);
start = lower.IndexOf(name.ToLower(), start + 3, StringComparison.Ordinal);
}
}
@ -263,9 +263,9 @@ namespace Nikse.SubtitleEdit.Logic
sb.Append(s);
if (".!?:;)]}([{".Contains(s))
{
if (s == "]" && sb.ToString().IndexOf("[") > 1)
if (s == "]" && sb.ToString().IndexOf("[", StringComparison.Ordinal) > 1)
{ // I [Motor roaring] love you!
string temp = sb.ToString().Substring(0, sb.ToString().IndexOf("[") - 1).Trim();
string temp = sb.ToString().Substring(0, sb.ToString().IndexOf("[", StringComparison.Ordinal) - 1).Trim();
if (temp.Length > 0 && !Utilities.LowercaseLetters.Contains(temp[temp.Length - 1].ToString()))
lastWasBreak = true;
}

View File

@ -28,7 +28,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
get { return true; }
}
public void Save(string fileName, Subtitle subtitle)
public static void Save(string fileName, Subtitle subtitle)
{
var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);

View File

@ -234,7 +234,7 @@ namespace Nikse.SubtitleEdit.Logic
return subtitle;
}
private Subtitle ImportTimeCodesOnAloneLines(string[] lines)
private static Subtitle ImportTimeCodesOnAloneLines(string[] lines)
{
Paragraph p = null;
var subtitle = new Subtitle();
@ -289,7 +289,7 @@ namespace Nikse.SubtitleEdit.Logic
return subtitle;
}
private Subtitle ImportTimeCodesAndTextOnSameLine(string[] lines)
private static Subtitle ImportTimeCodesAndTextOnSameLine(string[] lines)
{
Regex regexTimeCodes1 = new Regex(@"\d+[:.,;]{1}\d\d[:.,;]{1}\d\d[:.,;]{1}\d+", RegexOptions.Compiled);
Regex regexTimeCodes2 = new Regex(@"\d+[:.,;]{1}\d\d[:.,;]{1}\d+", RegexOptions.Compiled);
@ -410,7 +410,7 @@ namespace Nikse.SubtitleEdit.Logic
return subtitle;
}
private Subtitle ImportTimeCodesAndTextOnSameLineOnlySpaceAsSeperator(string[] lines)
private static Subtitle ImportTimeCodesAndTextOnSameLineOnlySpaceAsSeperator(string[] lines)
{
Regex regexTimeCodes1 = new Regex(@"\d+ {1}\d\d {1}\d\d {1}\d+", RegexOptions.Compiled);
Regex regexTimeCodes2 = new Regex(@"\d+ {1}\d\d {1}\d+", RegexOptions.Compiled);
@ -565,7 +565,7 @@ namespace Nikse.SubtitleEdit.Logic
return subtitle;
}
private Subtitle ImportTimeCodesOnSameSeperateLineNoMilliseconds(string[] lines)
private static Subtitle ImportTimeCodesOnSameSeperateLineNoMilliseconds(string[] lines)
{
Paragraph p = null;
var subtitle = new Subtitle();

View File

@ -267,7 +267,7 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers
}
finally
{
vlc.DisposeVideoPlayer();
vlc.Dispose();
}
}
}