private IEnumerable <HashtagModel> GetHashtags(PhotoId photoId, string text, DateTimeOffset utcNow) { return(textSplitter.Split(text, TextPatterns.Hashtags) .Where(x => x.ItemType == TextItemType.HashTag) .Select(x => new HashtagModel { PhotoId = photoId, Hashtag = x.Text, CreatedTime = utcNow })); }
public string Rewrite(string text) { StringBuilder builder = new StringBuilder(); string[] rows = rowSplitter.Split(text); if (rows.Length == 0) { return(null); } string[] columnsHeader = columnSplitter.Split(rows[0]); for (int i = 1; i < rows.Length; i++) { string[] columns = columnSplitter.Split(rows[i]); for (int j = 0; j < columns.Length && j < columnsHeader.Length; j++) { builder.AppendLine($"{columnsHeader[j].Trim()}: {columns[j]}"); } } return(builder.ToString()); }
public static string GetHtmlText(this string input, ITextSplitter textSplitter) { return(string.Join("", textSplitter.Split(input, TextPatterns.Hashtags | TextPatterns.Urls).Select(x => { switch (x.ItemType) { case TextItemType.HashTag: case TextItemType.WebLink: return $"<a href=\"{x.Link}\">{x.Text}</a>"; case TextItemType.Text: default: return string.Join("<br />", x.Text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)); } }))); }