虚幻引擎里取中间文本我找了一圈没有,所以自己写了一个C++版和 蓝图版

C++

//需要引入 #include "Kismet/KismetStringLibrary.h"头文件

FString UMyBPLibrary::GetSubString(FString Body, FString Left, FString Right)
{
	//文本左位置
	int LLen = 0;
    //文本右位置
	int RLen = 0;
	//从源文本获取左边字符串位置
	LLen = UKismetStringLibrary::FindSubstring(Body,Left,false,false,-1);
    //如果大于-1 则表示找到,否则设置0
	if(LLen >-1)
	{
		LLen +=  Left.Len();
	}else
	{
		LLen = 0;
	}
 //从源文件获取右边长度,设置其实搜索位置为左边找到的的位置LLen ,否则出现重复右边蚊子会导致无法找到
	RLen = UKismetStringLibrary::FindSubstring(Body,Right,false,false,LLen);
    //如果如果没找到直接设置源文本长度
	if(RLen < 0 || Right.IsEmpty())
	{
		RLen = Body.Len();
	}
    //从源文本的左边位置获取字符串,长度是源文本长度
	const FString LeftStr = UKismetStringLibrary::GetSubstring(Body,LLen,Body.Len());
    //左返回最边字符串,位置就是右边位置-左边位置
	return UKismetStringLibrary::Left(LeftStr,RLen - LLen);
}

蓝图