2011-06-24 47 views

Trả lời

33

Bạn có thể làm:

 string str = "Hello Marco !"; 
     str = str.Substring(0, str.Length - 2); 
+0

"Chuỗi con" là tên hàm không hợp lệ. Nó phải là "chuỗi con". – Alexander

+8

@Alexander Tôi không biết bạn đang nói ngôn ngữ nào, nhưng trong .net C#, đó là một phương thức hợp lệ. Nó cũng là trường hợp thích hợp. –

+0

Tôi vô cùng xin lỗi - tôi đã không nhận thấy C# đã được đề cập. Tôi chỉ tìm kiếm chữ ký phương thức và tìm thấy chữ ký này :) – Alexander

6

gì về

string s = "Hello Marco !"; 
s = s.Substring(0, s.Length - 2); 
+1

Sẽ không hoạt động đối với các chuỗi quá ngắn, phải không? : P –

+5

@Armen - Đó không phải là câu hỏi, phải không? ;) –

1

Hãy thử điều này:

var s = "Hello Marco !"; 

var corrected = s.Substring(0, s.Length - 2); 
1
string s = "Hello Marco !"; 
s = s.Remove(s.length - 2, 2); 
+0

Điều này chỉ nhận được hai ký tự cuối cùng. – Yuck

+0

@Yuck, yeah tôi đã đi cho các loại bỏ và bởi thói quen đã làm chuỗi con. – bdparrish

2

Bạn có kiểm tra tài liệu MSDN (hoặc IntelliSense)? Làm thế nào về String.Substring method?

Bạn có thể lấy độ dài bằng cách sử dụng Length property, trừ hai từ này và trả về chuỗi con từ đầu đến 2 ký tự từ cuối. Ví dụ:

string str = "Hello Marco !"; 
str = str.Substring(0, str.Length - 2); 
23
s = s.Substring(0, Math.Max(0, s.Length-2)) 

để bao gồm các trường hợp chiều dài nhỏ hơn 2

3

tôi sẽ cắt hết cho các ký tự không mong muốn:

s = s.TrimEnd(' ', '!'); 

Để đảm bảo nó hoạt động ngay cả với nhiều không gian hơn. Hoặc tốt hơn nếu bạn muốn đảm bảo nó hoạt động luôn, vì văn bản đầu vào dường như đến từ người dùng:

Regex r = new Regex(@"(?'purged'(\w|\s)+\w)"); 
Match m = r.Match("Hello Marco !!"); 
if (m.Success) 
{ 
    string result = m.Groups["purged"].Value; 
} 

Với điều này, bạn an toàn hơn. Một thanh trừng dựa trên thực tế hai ký tự cuối cùng phải được loại bỏ quá yếu.

2

Nếu đó là số lượng chuỗi không xác định bạn có thể cắt bỏ ký tự cuối cùng bằng cách thực hiện s = s.TrimEnd ('', '!'). Trim();

Bạn đã cân nhắc sử dụng cụm từ thông dụng? Nếu bạn chỉ muốn cho phép các ký tự số alpha, bạn có thể sử dụng regex để thay thế các ký hiệu, Nếu thay vì a! Bạn nhận được một %?

Các vấn đề liên quan