కోడ్‌జిమ్ విశ్వవిద్యాలయం కోర్సులో భాగంగా మెంటర్‌తో ఉపన్యాస స్నిప్పెట్. పూర్తి కోర్సు కోసం సైన్ అప్ చేయండి.


1 తీగలను పోల్చడం

తీగలతో అత్యంత సాధారణ కార్యకలాపాలలో ఒకటి పోలిక. స్ట్రింగ్ క్లాస్‌లో ఒక స్ట్రింగ్‌ను మరొక స్ట్రింగ్‌తో పోల్చడానికి ఉపయోగించే పదికి పైగా విభిన్న పద్ధతులు ఉన్నాయి. క్రింద మేము 8 ప్రధానమైన వాటిని పరిశీలిస్తాము.

పద్ధతులు వివరణ
boolean equals(String str)
స్ట్రింగ్స్ అన్ని అక్షరాలు సరిపోలితే సమానంగా పరిగణించబడతాయి.
boolean equalsIgnoreCase(String str)
తీగలను పోలుస్తుంది, అక్షరాల కేసును విస్మరిస్తుంది (అవి పెద్ద అక్షరం లేదా చిన్న అక్షరం అని విస్మరిస్తుంది)
int compareTo(String str)
స్ట్రింగ్‌లను పోల్చి, స్ట్రింగ్ ప్రారంభం నుండి సరిపోలే అక్షరాల సంఖ్యను అందిస్తుంది.
public int compareToIgnoreCase(String str)
స్ట్రింగ్ ప్రారంభం నుండి సరిపోలే అక్షరాల సంఖ్యను అందిస్తుంది, కేస్‌ను విస్మరిస్తుంది
boolean regionMatches(int toffset, String str, int offset, int len)
స్ట్రింగ్స్ యొక్క భాగాలను సరిపోల్చండి
boolean startsWith(String prefix)
ప్రస్తుత స్ట్రింగ్ స్ట్రింగ్‌తో మొదలవుతుందో లేదో తనిఖీ చేస్తుందిprefix
boolean endsWith(String suffix)
ప్రస్తుత స్ట్రింగ్ స్ట్రింగ్‌తో ముగుస్తుందో లేదో తనిఖీ చేస్తుందిsuffix

మీరు ఫైల్‌కి మార్గం కోసం వినియోగదారుని అడిగే ప్రోగ్రామ్‌ను వ్రాయాలనుకుంటున్నారని అనుకుందాం మరియు దాని పొడిగింపు ఆధారంగా ఫైల్ రకాన్ని తనిఖీ చేస్తుంది. అటువంటి ప్రోగ్రామ్ యొక్క కోడ్ ఇలా ఉండవచ్చు:

కోడ్ గమనికలు
Scanner console = new Scanner(System.in);
String path = console.nextLine();

if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}
Scannerఆబ్జెక్ట్‌ను సృష్టించండి
కన్సోల్ నుండి ఒక పంక్తిని చదవండి

స్ట్రింగ్ pathఇచ్చిన స్ట్రింగ్‌తో ముగుస్తుందో లేదో తనిఖీ చేయండి


2 సబ్‌స్ట్రింగ్‌ల కోసం శోధిస్తోంది

స్ట్రింగ్‌లను పోల్చిన తర్వాత, రెండవ అత్యంత జనాదరణ పొందిన ఆపరేషన్ ఒక స్ట్రింగ్‌లోని మరొక స్ట్రింగ్‌ను కనుగొనడం. స్ట్రింగ్ క్లాస్ దీని కోసం కొన్ని పద్ధతులను కూడా కలిగి ఉంది:

పద్ధతులు వివరణ
int indexOf(String str)
strప్రస్తుత స్ట్రింగ్‌లోని స్ట్రింగ్ కోసం శోధిస్తుంది . మొదటి సంఘటన యొక్క మొదటి అక్షరం యొక్క సూచికను అందిస్తుంది.
int indexOf(String str, int index)
strమొదటి అక్షరాలను దాటవేస్తూ, ప్రస్తుత స్ట్రింగ్‌లోని స్ట్రింగ్ కోసం శోధిస్తుంది index. సంభవించిన సూచికను అందిస్తుంది.
int lastIndexOf(String str)
ప్రస్తుత స్ట్రింగ్‌లోని స్ట్రింగ్ కోసం శోధిస్తుంది str, చివరి నుండి ప్రారంభమవుతుంది. మొదటి సంఘటన యొక్క సూచికను అందిస్తుంది.
int lastIndexOf(String str, int index)
strమొదటి అక్షరాలను దాటవేస్తూ, చివరి నుండి ప్రస్తుత స్ట్రింగ్‌లోని స్ట్రింగ్ కోసం శోధిస్తుంది index.
boolean matches(String regex)
ప్రస్తుత స్ట్రింగ్ సాధారణ వ్యక్తీకరణ ద్వారా పేర్కొన్న నమూనాతో సరిపోలుతుందో లేదో తనిఖీ చేస్తుంది.

indexOf(String)మరియు పద్ధతులు indexOf(String, index)తరచుగా కలయికలో ఉపయోగించబడతాయి. మొదటి పద్ధతి మీరు ప్రస్తుత స్ట్రింగ్‌లో పాస్ చేయబడిన సబ్‌స్ట్రింగ్ యొక్క మొదటి సంఘటనను కనుగొనడానికి మిమ్మల్ని అనుమతిస్తుంది. మరియు రెండవ పద్ధతి మొదటి సూచిక అక్షరాలను దాటవేయడం ద్వారా రెండవ, మూడవ, మొదలైన సంఘటనలను కనుగొనడానికి మిమ్మల్ని అనుమతిస్తుంది.

మనకు " https://domain.com/about/reviews " వంటి url ఉందని అనుకుందాం మరియు మేము డొమైన్ పేరును " codegym.cc "తో భర్తీ చేయాలనుకుంటున్నాము. Urlలు అన్ని రకాల విభిన్న డొమైన్ పేర్లను కలిగి ఉండవచ్చు, కానీ మాకు ఈ క్రిందివి తెలుసు:

  • డొమైన్ పేరు ముందు రెండు ఫార్వర్డ్ స్లాష్‌లు ఉంటాయి — "//"
  • డొమైన్ పేరు తర్వాత ఒకే ఫార్వర్డ్ స్లాష్ — " /"

అటువంటి ప్రోగ్రామ్ కోసం కోడ్ ఎలా ఉంటుందో ఇక్కడ ఉంది:

కోడ్ గమనికలు
Scanner console = new Scanner(System.in);
String path = console.nextLine();

int index = path.indexOf("//");
int index2 = path.indexOf("/", index + 2);

String first = path.substring(0, index + 2);
String last = path.substring(index2);

String result = first + "codegym.cc" + last;
System.out.println(result);
స్కానర్ ఆబ్జెక్ట్‌ను సృష్టించండి
కన్సోల్ నుండి ఒక పంక్తిని చదవండి

స్ట్రింగ్ యొక్క మొదటి సంఘటన యొక్క సూచికను పొందండి " //"
మేము స్ట్రింగ్ యొక్క మొదటి సంఘటన యొక్క సూచికను పొందుతాము /, కానీ అక్షరాలు సంభవించిన తర్వాత మాత్రమే చూడండి //.
మనకు అక్షరాలు ప్రారంభం నుండి చివరి వరకు //
స్ట్రింగ్ వస్తుంది . మేము స్ట్రింగ్‌లను మరియు కొత్త డొమైన్‌ను కలిపేస్తాము./

మరియు పద్ధతులు అదే విధంగా పని చేస్తాయి, స్ట్రింగ్ చివరి నుండి ప్రారంభం వరకు శోధన మాత్రమే నిర్వహించబడుతుంది lastIndexOf(String).lastIndexOf(String, index)



3 సబ్‌స్ట్రింగ్‌లను సృష్టించడం

కోడ్‌జిమ్ విశ్వవిద్యాలయం కోర్సులో భాగంగా మెంటర్‌తో ఉపన్యాస స్నిప్పెట్. పూర్తి కోర్సు కోసం సైన్ అప్ చేయండి.


స్ట్రింగ్‌లను పోల్చడం మరియు సబ్‌స్ట్రింగ్‌లను కనుగొనడంతో పాటు, మరొక అత్యంత ప్రజాదరణ పొందిన చర్య ఉంది: స్ట్రింగ్ నుండి సబ్‌స్ట్రింగ్‌ను పొందడం. ఇది జరిగినప్పుడు, మునుపటి ఉదాహరణ substring()స్ట్రింగ్‌లో కొంత భాగాన్ని తిరిగి ఇచ్చే పద్ధతి కాల్‌ని మీకు చూపుతుంది.

ప్రస్తుత స్ట్రింగ్ నుండి సబ్‌స్ట్రింగ్‌లను అందించే 8 పద్ధతుల జాబితా ఇక్కడ ఉంది:

పద్ధతులు వివరణ
String substring(int beginIndex, int endIndex)
సూచిక పరిధి ద్వారా పేర్కొన్న సబ్‌స్ట్రింగ్‌ను అందిస్తుంది beginIndex..endIndex.
String repeat(int count)
ప్రస్తుత స్ట్రింగ్‌ను n సార్లు పునరావృతం చేస్తుంది
String replace(char oldChar, char newChar)
కొత్త స్ట్రింగ్‌ను అందిస్తుంది: అక్షరాన్ని oldCharఅక్షరంతో భర్తీ చేస్తుందిnewChar
String replaceFirst(String regex, String replacement)
ప్రస్తుత స్ట్రింగ్‌లో సాధారణ వ్యక్తీకరణ ద్వారా పేర్కొన్న మొదటి సబ్‌స్ట్రింగ్‌ను భర్తీ చేస్తుంది.
public String replaceAll(String regex, String replacement)
సాధారణ వ్యక్తీకరణకు సరిపోలే ప్రస్తుత స్ట్రింగ్‌లోని అన్ని సబ్‌స్ట్రింగ్‌లను భర్తీ చేస్తుంది.
String toLowerCase()
స్ట్రింగ్‌ను చిన్న అక్షరానికి మారుస్తుంది
String toUpperCase()
స్ట్రింగ్‌ను పెద్ద అక్షరానికి మారుస్తుంది
String trim()
స్ట్రింగ్ ప్రారంభంలో మరియు చివరిలో అన్ని ఖాళీలను తొలగిస్తుంది

అందుబాటులో ఉన్న పద్ధతుల సారాంశం ఇక్కడ ఉంది:

substring(int beginIndex, int endIndex)పద్ధతి

substringపద్ధతి ప్రస్తుత స్ట్రింగ్‌లోని అక్షరాలను కలిగి ఉన్న కొత్త స్ట్రింగ్‌ను అందిస్తుంది, సూచికతో అక్షరం వద్ద ప్రారంభించి beginIndexమరియు ముగింపుతో ముగుస్తుంది endIndex. జావాలోని అన్ని విరామాలలో వలె, ఇండెక్స్‌తో అక్షరం endIndexవిరామంలో చేర్చబడలేదు. ఉదాహరణలు:

కోడ్ ఫలితం
"Hellos".substring(0, 3);
"Hel"
"Hellos".substring(1, 4);
"ell"
"Hellos".substring(1, 6);
"ellos"
"Hellos".substring(1);
"ellos"

పరామితి endIndexపేర్కొనబడకపోతే (ఇది సాధ్యమే), అప్పుడు సబ్‌స్ట్రింగ్ ప్రారంభం సూచికలోని అక్షరం నుండి స్ట్రింగ్ చివరి వరకు తీసుకోబడుతుంది.

repeat(int n)పద్ధతి

పునరావృత పద్ధతి కేవలం ప్రస్తుత స్ట్రింగ్ nసమయాలను పునరావృతం చేస్తుంది. ఉదాహరణ:

కోడ్ ఫలితం
"Hello".repeat(3);
"HelloHelloHello"
"Hello".repeat(2);
"HelloHello"
"Hello".repeat(1);
"Hello"
"Hello".repeat(0);
""

replace(char oldChar, char newChar)పద్ధతి

పద్ధతి replace()కొత్త స్ట్రింగ్‌ను అందిస్తుంది, దీనిలో అన్ని అక్షరాలు oldCharఅక్షరంతో భర్తీ చేయబడతాయి newChar. ఇది స్ట్రింగ్ యొక్క పొడవును మార్చదు. ఉదాహరణ:

కోడ్ ఫలితం
"Programming".replace('Z', 'z');
"Programming"
"Programming".replace('g', 'd');
"Prodrammind"
"Programming".replace('a', 'e');
"Progremming"
"Programming".replace('m', 'w');
"Prograwwing"

replaceFirst()మరియు replaceAll()పద్ధతులు

replaceAll()పద్ధతి ఒక సబ్‌స్ట్రింగ్‌లోని అన్ని సంఘటనలను మరొక దానితో భర్తీ చేస్తుంది. ఈ replaceFirst()పద్ధతి పాస్ చేయబడిన సబ్‌స్ట్రింగ్ యొక్క మొదటి సంఘటనను పేర్కొన్న సబ్‌స్ట్రింగ్‌తో భర్తీ చేస్తుంది. భర్తీ చేయవలసిన స్ట్రింగ్ సాధారణ వ్యక్తీకరణ ద్వారా పేర్కొనబడింది. మేము జావా మల్టీథ్రెడింగ్ అన్వేషణలో సాధారణ వ్యక్తీకరణలను పరిశీలిస్తాము .

ఉదాహరణలు:

కోడ్ ఫలితం
"Good news everyone!".replaceAll("e.", "EX");
"Good nEXs EXEXyonEX"
"Good news everyone!".replaceAll("o.", "-o-");
"G-o-d news every-o-e!"
"Good news everyone!".replaceFirst("e.", "EX");
"Good nEXs everyone!"
"Good news everyone!".replaceFirst("o.", "-o-");
"G-o-d news everyone!"

toLowerCase() and toUpperCase()పద్ధతులు

మేము మొదట తరగతి పద్ధతులను పిలవడం గురించి తెలుసుకున్నప్పుడు మేము ఈ పద్ధతులను తెలుసుకున్నాము String.

trim()పద్ధతి

trim()పద్ధతి స్ట్రింగ్ నుండి లీడింగ్ మరియు ట్రైలింగ్ స్పేస్‌లను తొలగిస్తుంది. స్ట్రింగ్ లోపల ఉన్న ఖాళీలను తాకదు (అంటే ప్రారంభంలో లేదా చివరిలో కాదు). ఉదాహరణలు:

కోడ్ ఫలితం
"     ".trim();
""
"Hello".trim();
"Hello"
" Hello\n how are you?\n   ".trim();
"Hello\n how are you?\n"
"  Password\n   \n ".trim();
"Password\n   \n"