Если вы не хотите использовать регулярное выражение, лучшим решением может быть использование emoji python package .
Вот простая функция для возврата бесплатного текста emoji (благодаря этот SO ответ ):
import emoji
def give_emoji_free_text(text):
allchars = [str for str in text.decode('utf-8')]
emoji_list = [c for c in allchars if c in emoji.UNICODE_EMOJI]
clean_text = ' '.join([str for str in text.decode('utf-8').split() if not any(i in str for i in emoji_list)])
return clean_text
Если вы имеете дело со строками, содержащими emojis, это просто
>> s1 = "Hi
Много людей писало их собственный "DebugWriter" и присоединяло его как так:
// Add this class somewhere in your project...
class DebugTextWriter : System.IO.TextWriter {
public override void Write(char[] buffer, int index, int count) {
System.Diagnostics.Debug.Write(new String(buffer, index, count));
}
public override void Write(string value) {
System.Diagnostics.Debug.Write(value);
}
public override Encoding Encoding {
get { return System.Text.Encoding.Default; }
}
}
// Then attach it to the Log property of your DataContext...
myDataContext.Log = new DebugTextWriter()
Это произведет все, что Linq-to-Sql делает в окно отладки Visual Studio.
В дополнение к ответ Portman , если Вы - консольное приложение, это столь же просто как:
myDataContext.Log = Console.Out;
Или Вы могли использовать что-то как Профилировщик Linq2SQL, который является довольно превосходным инструментом и на самом деле правильным инструментом для задания:
Linq к SQL Profiler - визуальный отладчик В реальном времени для Linq к SQL
Выполните SQL Profiler, если у Вас есть он. Это покажет весь трафик Вашей базе данных, включая текст команды SQL.