एंड्रॉइड में String.endsWith() से स्ट्रिंग अंत जांचना
यह ट्यूटोरियल दिखाता है कि EditText इनपुट का अंत किसी विशिष्ट सबस्ट्रिंग (जैसे "point") से होता है या नहीं, endsWith() विधि से कैसे जांचें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="24dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:hint="टेक्स्ट दर्ज करें"
android:layout_height="wrap_content" />
<Button
android:id="@+id/click"
android:text="जांचें"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:textSize="25sp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:textColor="#333" />
</LinearLayout>
चरण 3: MainActivity कोड (java/MainActivity.java)
package com.example.myapplication;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
EditText nameEditText;
Button button;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameEditText = findViewById(R.id.name);
button = findViewById(R.id.click);
textView = findViewById(R.id.textview);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input = nameEditText.getText().toString().trim();
if (!input.isEmpty()) {
// endsWith() - केस-सेंसिटिव
boolean endsWithPoint = input.endsWith("point");
textView.setText("परिणाम: " + endsWithPoint);
// केस-इनसेंसिटिव संस्करण
boolean endsWithPointCI = input.toLowerCase().endsWith("point");
textView.append("\nकेस-इनसेंसिटिव: " + endsWithPointCI);
} else {
nameEditText.setError("कृपया टेक्स्ट दर्ज करें");
}
}
});
}
}
endsWith() मुख्य बिंदु
- केस-सेंसिटिव: "Point" ≠ "point"
- खाली स्ट्रिंग "" के लिए हमेशा
trueलौटाता है - नल पर
NullPointerExceptionफेंकता है - इंटरनली
startsWith()का उपयोग करता है ऑफसेट के साथ
व्यावहारिक उपयोग केस
// फाइल एक्सटेंशन जांचें
if (filename.endsWith(".jpg") || filename.endsWith(".png")) { ... }
// URL डोमेन जांचें
if (url.endsWith(".com") || url.endsWith(".in")) { ... }
// ईमेल डोमेन
if (email.endsWith("@gmail.com")) { ... }
// एकाधिक सफिक्स जांचें
String[] suffixes = {".jpg", ".png", ".gif", ".webp"};
boolean isImage = false;
for (String ext : suffixes) {
if (filename.toLowerCase().endsWith(ext)) { isImage = true; break; }
}
// Kotlin एक्सटेंशन
fun String.endsWithIgnoreCase(String suffix) =
this.toLowerCase().endsWith(suffix.toLowerCase())
startsWith() भी देखें
// स्ट्रिंग "tutorial" से शुरू होती है?
boolean startsWithTutorial = input.startsWith("tutorial");
// प्रीफिक्स जांच
if (phoneNumber.startsWith("+91")) { ... }
ऐप टेस्ट करें
"tutorialspoint" दर्ज करें → true. "tutorial" दर्ज करें → false. "POINT" दर्ज करें → false (केस-सेंसिटिव)।