/// <summary>
/// 横20文字×縦10行=200文字(最大)を表示する。
/// </summary>
/// <param name="inStr">入力文字</param>
/// <param name="findStr">ハイライト文字</param>
/// <param name="maxLength">最大表示文字数</param>
/// <returns>省略符号を追加の結果</returns>
public static string getSubString(string inStr, string findStr, int maxLength)
{
//確認1234567890 ⇒ 確認1234567...
//12345確認67890 ⇒ 12345確認67...
//1234567890確認 ⇒ ...4567890確認
//1確認234567890 ⇒ 1確認234567...
//123456789確認0 ⇒ ...3456789確認0
int index = inStr.IndexOf(findStr);
int start = index - maxLength / 2;
int end = index + maxLength / 2;
int inStrLength = inStr.Length;
string outStr = "";
try
{
if (maxLength >= inStrLength)
{
outStr = inStr;
}
else if (start <= 0 && end < inStrLength)
{
outStr = inStr.Substring(0, maxLength - 1) + "...";
}
else if (start > 0 && end < inStrLength)
{
outStr = "..." + inStr.Substring(start + 1, maxLength - 2) + "...";
}
else if (start > 0 && end >= inStrLength)
{
outStr = "..." + inStr.Substring(inStrLength - maxLength + 1);
}
else
{
//if (intStrLength <= maxLength)
outStr = inStr;
}
}
catch
{
outStr = inStr;
}
return outStr;
}