Iterate through the sockets of a mesh looking for sockets with the same basename and an integer ID, "BaseName%d"

Is it possible to iterate through a TArray containing all of the sockets using, as an example, “Thruster%d”?
Here is my current code:

AWeapon::AWeapon(const FObjectInitializer& ObjectInitializer)
:Super(ObjectInitializer)
{
WeaponMesh = ObjectInitializer.CreateDefaultSubobject<UStaticMeshComponent>(this, TEXT("Weapon Mesh"));
RootComponent = WeaponMesh;

MeshSockets = WeaponMesh->GetAllSocketNames();
for (auto It = MeshSockets.CreateConstIterator; It; ++It)
{
	if (It == FName(TEXT("Thruster%d")))
	{
		ThrusterSockets.Add(It);
	}
}

TrailComp = ObjectInitializer.CreateDefaultSubobject<UParticleSystemComponent>(this, TEXT("Weapon Trail"));
for (auto It = ThrusterSockets.CreateConstIterator; It; ++It)
{
	TrailComp->AttachTo(RootComponent, It);
}


}

Any help is appreciated.