Tôi phải đối mặt với cùng một vấn đề và quan tâm đến tác động hiệu suất của việc gọi dấu câu cho mỗi lần kiểm tra.
Tôi tìm thấy bài đăng này: http://www.dotnetperls.com/char-ispunctuation.
Qua các dòng: char.IsPunctuation cũng xử lý Unicode trên đầu trang của ASCII. Phương thức khớp với một loạt ký tự bao gồm các ký tự điều khiển. Bởi definiton, phương pháp này là nặng và đắt tiền.
Điểm mấu chốt là cuối cùng tôi đã không đi vì nó ảnh hưởng đến hiệu suất của nó trên quy trình ETL của tôi.
Tôi đã thực hiện tùy chỉnh hiển thị các dấu chấm.
Và nhô FYI, đây là một số mã rút ra từ những câu trả lời trước để có được danh sách của tất cả các ký tự dấu (trừ những người điều khiển):
var punctuationCharacters = new List<char>();
for (int i = char.MinValue; i <= char.MaxValue; i++)
{
var character = Convert.ToChar(i);
if (char.IsPunctuation(character) && !char.IsControl(character))
{
punctuationCharacters.Add(character);
}
}
var commaSeparatedValueOfPunctuationCharacters = string.Join("", punctuationCharacters);
Console.WriteLine(commaSeparatedValueOfPunctuationCharacters);
Chúc mừng, Andrew
Các ngôn ngữ khác nhau, trên thực tế, khác nhau và tôi không nghĩ câu trả lời cho câu hỏi bạn đang yêu cầu. Bạn có thể hỏi về các ngôn ngữ cụ thể, hoặc ngôn ngữ nào là tốt nhất cho loại thao tác đó. –