জাভাতে স্ট্রিংয়ে ডট (।) কীভাবে প্রতিস্থাপন করবেন


87

আমার কাছে একটি স্ট্রিং আছে persons.name

আমি বিন্দু প্রতিস্থাপন করতে চান .সঙ্গে /*/ অর্থাত আমার আউটপুট হবেpersons/*/name

আমি এই কোডটি চেষ্টা করেছি:

String a="\\*\\";
str=xpath.replaceAll("\\.", a);

আমি স্ট্রিংইনডেক্সআউটআউটবাউন্ডসেক্সপশন পাচ্ছি।

আমি বিন্দুটি কীভাবে প্রতিস্থাপন করব?

উত্তর:


147

বিন্দুর আগে আপনার দুটি ব্যাকস্ল্যাশ দরকার, একটি স্ল্যাশ থেকে বাঁচার জন্য এটিটি এর মধ্য দিয়ে যায় এবং অন্যটি বিন্দু থেকে বাঁচতে পারে যাতে এটি আক্ষরিক হয়ে যায়। ফরোয়ার্ড স্ল্যাশ এবং নক্ষত্রকে আক্ষরিক হিসাবে বিবেচনা করা হয়।

str=xpath.replaceAll("\\.", "/*/");          //replaces a literal . with /*/

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String)


4
এটা করা উচিত নয় xpath.replaceAll("\\\\.", "/*/")?
ha9u63ar

10

আপনি যদি একটি সহজ স্ট্রিং প্রতিস্থাপন করতে চান এবং আপনি রেগুলার এক্সপ্রেশন ক্ষমতার প্রয়োজন হবে না, তাহলে ব্যবহার করতে পারেন replaceনা replaceAll

replace প্রতিটি মিলের সাবস্ট্রিং প্রতিস্থাপন করে তবে এটির যুক্তিটি নিয়মিত অভিব্যক্তি হিসাবে ব্যাখ্যা করে না।

str = xpath.replace(".", "/*/");


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.