C#
○番目の検索値より右側を返すユーザー関数です
/// <summary>
/// ○番目の検索値より右側
/// </summary>
/// <returns>検索値より右側</returns>
/// <param name="source">検索される値</param>
/// <param name="key">検索値</param>
/// <param name="nth">何番目の検索値?(1-)</param>
string StrRight(string source, string key, int nth = 1)
{
string result = @"";
if(1 >nth)
{
return result;
}
int start = 0;
int next;
for(int i = 1; i <= nth; i++)
{
next = source.IndexOf(key, start, StringComparison.CurrentCultureIgnoreCase);
if(0 > next)
{
start = 0;
break;
}
start = next + key.Length;
}
if(0 < start)
{
result = source.Substring(start);
}
return result;
}
Excel
最初の検索値より右側を返す式はこちらです
=LET(VKEY,検索値,VVALUE,検索される値,VERROR,エラー時の値,IFERROR(MID(VVALUE,FIND(VKEY,VVALUE)+LEN(VKEY),LEN(VVALUE)),VERROR))
最後の検索値より右側を返す式はこちらです(LETでまとめていません)
検索値を仮の検索値へ置換し、切り出した後に検索値を戻しています
=IF(ISERROR(FIND(検索値,検索される値)),検索される値,MID(検索される値,FIND(仮の検索値,SUBSTITUTE(検索される値,検索値,仮の検索値,LEN(検索される値)-LEN(SUBSTITUTE(検索される値,検索値,""))))+1,LEN(検索される値)))
Lotus Script 言語
左側から検索される値を検索します
文字値 = StrRight (検索される値,検索値,比較方法,何番目の検索値?)
文字値 = StrRight (検索される値,検索値,比較方法)
文字値 = StrRight (検索される値,検索値)
右側から検索される値を検索します
文字値 = StrRightBack (検索される値,検索値,比較方法,何番目の検索値?)
文字値 = StrRightBack (検索される値,検索値,比較方法)
文字値 = StrRightBack (検索される値,検索値)
比較方法
0 = 大文字小文字、全角半角を区別します
1 = 大文字小文字を区別しません
4 = 全角半角を区別しません
5 = 大文字小文字、全角半角を区別しません
戻り値には検索値を含みません
例: {ABC} = StrRight ({ABCABC},{c},1,2)