2012-02-21 61 views
10

Cách tốt nhất để xóa từ đầu tiên khỏi chuỗi trong Java là gì?Xóa từ đầu tiên khỏi chuỗi trong Java

Nếu tôi có

String originalString = "This is a string";

Tôi muốn loại bỏ từ đầu tiên từ nó và ở dạng hiệu lực thi hành hai chuỗi -

removedWord = "This" 
originalString = "is a string; 

Trả lời

27

Đơn giản.

String o = "This is a string"; 
System.out.println(Arrays.toString(o.split(" ", 2))); 

Output:

[This, is a string] 

EDIT:


Trong dòng 2 bên dưới các giá trị được lưu trữ trong mảng arr. Truy cập chúng như các mảng thông thường.

String o = "This is a string"; 
String [] arr = o.split(" ", 2); 

arr[0] // This 
arr[1] // is a string 
+0

Kể từ khi câu hỏi khá cơ bản, có thể bạn sẽ cần phải làm rõ thế nào để có được những phần đầu tiên và thứ hai của chuỗi từ mảng được trả về. –

+0

Thực ra, tôi thích câu trả lời đầu tiên của bạn tốt hơn. Println chỉ làm cho nó mơ hồ hơn. –

+1

Tôi không nghĩ rằng đó sẽ là cần thiết hehe. Chỉ cần tìm cách TỐT NHẤT để thực hiện thao tác đơn giản này trong Java, như bạn có thể thấy có một vài câu trả lời khác nhau. –

0

Bạn có thể kiểm tra nơi là nhân vật không gian đầu tiên và riêng biệt chuỗi.

String full = "Sample Text"; 
String cut; 
int pointToCut = full.indexOf(' '); 

if (offset > -1) 
{ 
    cut = full.substring(space + 1); 
} 
-1

Bạn có thể sử dụng lớp StringTokenizer.

3

Bạn có thể sử dụng substring

removedWord = originalString.substring(0,originalString.indexOf(' ')); 
originalString = originalString.substring(originalString.indexOf(' ')+1); 
1

Hãy thử này sử dụng một var chỉ số, tôi nghĩ nó khá hiệu quả:

int spaceIdx = originalString.indexOf(" "); 
String removedWord = originalString.substring(0,spaceIdx); 
originalString = originalString.substring(spaceIdx); 

Trước JDK 1.7 sử dụng dưới phương pháp có thể hiệu quả hơn, đặc biệt nếu bạn đang sử dụng chuỗi dài (xem này article).

originalString = new String(originalString.substring(spaceIdx)); 
2

Đối với một câu trả lời ngay lập tức bạn có thể sử dụng này:

removeWord = originalString.substring(0,originalString.indexOf(' ')); 
originalString = originalString.substring(originalString.indexOf(' ')); 
0
String str = "This is a string";  

String str2=str.substring(str.indexOf(" ")); 
String str3=str.replaceFirst(str2, ""); 

Chuỗi của replaceFirstsubstring

0

bạn cũng có thể sử dụng giải pháp này:

static String substringer(String inputString, String remove) { 
    if (inputString.substring(0, remove.length()).equalsIgnoreCase(remove)) { 
     return inputString.substring(remove.length()).trim(); 
    } 
    else { 
      return inputString.trim(); 
    } 
} 

Ví dụ: chất nền ("Đây là một chuỗi", "Điều này");

3

này chắc chắn sẽ là một giải pháp tốt

String originalString = "This is a string"; 
    originalString =originalString.replaceFirst("This ", ""); 
+4

Không phải trường hợp bạn không biết từ đầu tiên là gì. –

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