
虚幻引擎 写一个字符串取中间文本,C++版和蓝图版
虚幻引擎里取中间文本我找了一圈没有,所以自己写了一个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);
}
蓝图
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 七龙
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果