나는 토큰을 제거해야하는 일련의 문자열이 있습니다. 문자열은 데이터베이스에서 와서 각각의 토큰이 연관된 이벤트 객체의 속성 이름이비정상적으로 동작하는 Regex.Replace
Subject: Ticket ##TicketID## Created
ShortText: Ticket ##TicketName## created (ID: ##TicketID##).
LongText: <a href="##BaseUrl##/Ticket/Details/##TicketID##">##TicketName##</a> was created on ##CreatedOn##.
같은 것을 보면, 어떤 행동을 기반으로 발사했다. 내가 지금까지 동적으로 값 객체 매핑 속성 이름을 기준으로 사전을 생성/그림 물건을 찾을 수 있었다
public class TicketCreatedEvent : ILAMPEvent {
public Guid TicketID { get; set; }
public string TicketName { get; set; }
public DateTime CreatedOn { get; set; }
public string BaseUrl { get; set; }
}
같은 예를 들어, TicketCreatedEvent 개체를 볼 수 있습니다. 나는 또한 Regex.Replace 호출에 대해 약간의 진전을 이룰 수 있었다. 제목 문자열의 토큰을 교체하여 사용하여 좋은 작품 : 그러나
Regex.Replace(templates.Subject, @"##(.*)##", match => map[match.Groups[1].Value]);
, 그것은 ShortText 또는 LONGTEXT에 이렇게 좋은 작동하지 않습니다. 던져지고있는 예외에서 내가 말할 수있는 것부터 Regex는 너무 많이 매치됩니다. 대신 문자열에서
##TicketName##
일치, 분명 내가 개별적으로 그 토큰에 각각 일치시킬
##TicketName## created (ID: ##TicketID##
일치하려고. 나는 이것이 내 부분에 오류라고 생각하지만, 나는 무엇을 놓치고 있습니까?
감사합니다. Tim. 나는 내가 이것을 놓친다는 것을 믿을 수 없다. .. 조금 조금 당혹 스러웠다. – Woods8460