result = Text("") for run in source.runs { let isSpoiler = (run.spoilerScope.spoiler == true) let slice = AttributedString(source[run.range]) if isSpoiler { let raw = String(slice.characters) let masked = mask(raw) ... } else { ... } } ... 4QPJMFS5BH
FDUJPO r .PSQIPMPHZJO4XJGU IUUQTXXXTXJGUKFDUJWFDDPNNPSQIPMPHZJOJPTXJUIBVUPNBUJDHSBNNBSBHSFFNFOU r .PSQIPMPHZJO4XJGU IUUQTMJDLBCJMJUZDPNCMPHNPSQIPMPHZJOTXJGU r "VUPNBUJD(SBNNBS"HSFFNFOU IUUQTNKUTBJDPNCMPHBVUPNBUJDHSBNNBSBHSFFNFOU ࢀߟจݙ