স্ট্রিং.চার্ট (সূচক) কোনও নিয়মিত বহিঃপ্রকাশ ব্যবহার না করে জাভাতে একটি অ্যাজ লেটার বা একটি নম্বর হলে স্বীকৃতি দেওয়ার সর্বোত্তম এবং / অথবা সবচেয়ে সহজ উপায় কী? ধন্যবাদ।
স্ট্রিং.চার্ট (সূচক) কোনও নিয়মিত বহিঃপ্রকাশ ব্যবহার না করে জাভাতে একটি অ্যাজ লেটার বা একটি নম্বর হলে স্বীকৃতি দেওয়ার সর্বোত্তম এবং / অথবা সবচেয়ে সহজ উপায় কী? ধন্যবাদ।
উত্তর:
Character.isDigit(string.charAt(index))
( জাভাডোক ) যদি সত্যই ফিরে আসবে যদি এটি কোনও অঙ্ক
Character.isLetter(string.charAt(index))
( জাভাডক ) কোনও অক্ষর হয় তবে তা সত্যই ফিরে আসবে
Character.isLetterOrDigit(string.charAt(index))
উভয় যাচাইয়ের জন্য ব্যবহার করুন।
আমি এমন একটি ফাংশন সন্ধান করছি যা কেবলমাত্র লাতিন বর্ণের একটি বা দশমিক সংখ্যা হলে তা যাচাই করে। যেহেতু char c = 255
, মুদ্রণযোগ্য সংস্করণ which এবং এটি একটি চিঠি হিসাবে বিবেচনা করা হয় Character.isLetter(c)
। আমার মনে হয় এই ফাংশনটি সর্বাধিক বিকাশকারীরা যা খুঁজছেন:
private static boolean isLetterOrDigit(char c) {
return (c >= 'a' && c <= 'z') ||
(c >= 'A' && c <= 'Z') ||
(c >= '0' && c <= '9');
}
u00ff
আসলে চরিত্র ÿ ÿ (একটি অভিশ্রুতি সঙ্গে ছোট হাতের Y।) কোডপয়েন্ট যে প্রতিনিধিত্ব করে ├ হয় u251c
।
if (c in 'a'..'z' || с in 'A'..'Z' || c in '0'..'9')
উত্তরগুলি ইঙ্গিত দিলে (আপনি যদি এগুলি সাবধানে পরীক্ষা করেন!), আপনার প্রশ্নটি দ্ব্যর্থক। "একটি এজ লেটার" বা একটি অঙ্ক বলতে কী বোঝ?
যদি আপনি জানতে চান যে কোনও চরিত্রটি ইউনিকোড চিঠি বা অঙ্ক হয়, তবে Character.isLetter
এবং Character.isDigit
পদ্ধতিগুলি ব্যবহার করুন ।
যদি আপনি জানতে চান যে কোনও অক্ষর একটি ASCII অক্ষর বা অঙ্ক হয়, তবে করণীয় সবচেয়ে ভাল কাজটি 'a' থেকে 'z', 'A' থেকে 'Z' এবং '0' থেকে অক্ষরের সাথে তুলনা করে পরীক্ষা করা উচিত '9'।
নোট করুন যে সমস্ত ASCII অক্ষর / সংখ্যা হ'ল ইউনিকোড অক্ষর / সংখ্যা ... তবে অনেকগুলি ইউনিকোড বর্ণ / অঙ্কের অক্ষর রয়েছে যা ASCII নয়। উদাহরণস্বরূপ, উচ্চারণযুক্ত বর্ণ, সিরিলিক, সংস্কৃত, ...
সাধারণ সমাধানটি এটি করা:
Character.UnicodeBlock block = Character.UnicodeBlock.of(someCodePoint);
এবং তারপরে আপনার আগ্রহী ব্লকগুলির মধ্যে একটি ব্লক কিনা তা পরীক্ষা করে দেখুন some কিছু ক্ষেত্রে আপনাকে একাধিক ব্লকের জন্য পরীক্ষা করতে হবে। উদাহরণস্বরূপ, সিরিলিক অক্ষরের জন্য (কমপক্ষে) 4 কোড ব্লক এবং লাতিনের জন্য 7 টি রয়েছে blocks Character.UnicodeBlock
বর্গ সুপরিচিত ব্লক জন্য স্ট্যাটিক ধ্রুবক সংজ্ঞায়িত; দেখতে javadocs ।
নোট করুন যে কোনও কোড পয়েন্ট সর্বাধিক এক ব্লকে থাকবে।
জাভা ক্যারেক্টার ক্লাসে 1.0L সংস্করণ থেকে একটি লেসটারঅরডিগিত পদ্ধতি রয়েছে
// check if ch is a letter
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
// ...
// check if ch is a digit
if (ch >= '0' && ch <= '9')
// ...
// check if ch is a whitespace
if ((ch == ' ') || (ch =='\n') || (ch == '\t'))
// ...
সূত্র: https://docs.oracle.com/javase/tutorial/i18n/text/charintro.html
if a string.charAt(index) is an A-z letter
। আমরা অন্য ভাষা নিয়ে কথা বলছি না আমরা?
এর মান তুলনা করুন। এটি 'a' এবং 'z', 'A' এবং 'Z', '0' এবং '9' এর মধ্যে হওয়া উচিত
Character.isLetter()
?
Character.isLetter()
। আমরা আন্তর্জাতিকীকরণের কথা না বললে?
import java.util.Scanner;
public class v{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
String str;
int l;
int flag=0;
System.out.println("Enter the String:");
str=in.nextLine();
str=str.toLowerCase();
str=str.replaceAll("\\s","");
char[] ch=str.toCharArray();
l=str.length();
for(int i=0;i<l;i++){
if ((ch[i] >= 'a' && ch[i]<= 'z') || (ch[i] >= 'A' && ch[i] <= 'Z')){
flag=0;
}
else
flag++;
break;
}
if(flag==0)
System.out.println("Onlt char");
}
}