2011-01-25 33 views
6

Tôi có một chuỗi:split chuỗi trước gạch nối - asp.net C#

10989898 - test1 

hoặc ví dụ khác:

123178239182 - test2 

tôi cần đầu ra như thế này:

Trong trường hợp thứ nhất:

10989898 

Trong trường hợp thứ hai:

123178239182 

là giá trị trước dấu gạch nối. Làm thế nào tôi có thể làm điều đó?

Trả lời

15
string result = theString.Substring(0, theString.IndexOf("-")).Trim(); 
+4

+1 để ghi nhớ Trim(). Chỉ vì bạn không thể thấy không gian đó không có nghĩa là nó không có ở đó. – JeffK

3
string s = "10989898 - test1"; 
string str = s.Substring(0, s.IndexOf("-")).Trim(); 
+0

Cần cắt hoặc kết quả sẽ vẫn có khoảng trắng ở cuối – Manatherin

+0

@Manatherin: 10x –

4

Bạn có thể sử dụng phương pháp Chuỗi Split:

string[] splitString = string.split('-'); 

string requiredString = splitString[0]; 
+3

Điều này là xấu, bạn tạo một mảng throwaway không có lý do – Manatherin

0

http://jsfiddle.net/98Snm/2/

<html> 
<head> 
    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(function() { 


     }); 
     function replaceFunc() { 
      var s = document.getElementById("foo1").value; 
      alert(s.replace(/[^0-9]/g, "")); 
     } 
    </script> 
</head> 
<body> 
<input type="button" value="replace non-numeric" onclick="replaceFunc()" /> 
<input type="text" id="foo1" /> 
</body> 
</html> 

Cập nhật

Regex reg = new Regex("[^0-9]", RegexOptions.Singleline); 
Console.WriteLine(Regex.Replace("123 -test 456", "[^0-9]", "")); 
Các vấn đề liên quan