سؤال

في Python ، يمكنني إنشاء سلسلة HTML دون القلق بشأن الهروب من أحرف خاصة مثل <أو "عن طريق إرفاق السلسلة في عروض أسعار ثلاثية مثل:

html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""

هل هناك طريقة مماثلة للقيام بذلك في جافا؟

هل كانت مفيدة؟

المحلول

لا يمكن القيام به في جافا كما في بيثون. ومع ذلك ، إذا كنت تستخدم Eclipse ، فانتقل إلى Window-> تفضيلات-> java-> editor-> كتابة خانة الاختيار الأخيرة هي "نص الهروب عند اللصق في سلسلة حرفية". تحقق من ذلك. الآن عندما تلصق عندما يكون المؤشر بين علامات الاقتباس ، سيتم هروبه.

نصائح أخرى

لا ، لكن بعض الأدوات تفلت من أجلك عند لصقها ، مثل Eclipse.

للغرض المذكور ، صفحات خادم جافا قم بالخدعة حتى بدون tripple """'س :-)

في كود المصدر Java ، يعد الاقتباس المزدوج حرفًا خاصًا ، ويستخدم لإعلان حرفي السلسلة. لا يمكن أن يكون لديك اقتباس مزدوج في سلسلة حرفية دون الهروب منه.

بشكل عام ، سأحاول تجنب سلاسل متشددة من هذا القبيل في الكود المصدري ، خاصة إذا وجدت نفسي أفعل ذلك كثيرًا - كما لاحظت ، إنها ألم في التعامل معها كمصدر وقد تكون على الأرجح للتغيير ، في هذه الحالة يمكنك الاستغناء عن ذلك دون إعادة تجميع. إذا لم تكن بحاجة إلى توفير قطع غيار وقت التشغيل لبيانات النص ، فيمكنك الابتعاد عن شيء بسيط مثل القراءة في البيانات من ملف الخصائص ، أو يمكنك استخدام محرك templating مثل سرعة أباتشي للحفاظ على بيانات الأحرف منفصلة ولا تزال بديلة في وقت التشغيل - تقوم العديد من الأمثلة في دليل المستخدم المرتبط بذلك بالضبط باستخدام HTML.

لتردد خدعة بنجميث من أ سؤال مماثل, ، يمكنك استخدام حرف بديل واستبدالها بعد ذلك:

String myString = "using `backticks` instead of quotes".replace('`', '"');

لقد وجدت أنه من المفيد عندما كنت أكتب اختبارات مع JSON

String json = "{`kind`:`file`,`sid`:802,`rid`:5678 ,`attrs`:{`name`:`FILE-WG-2468`}}".replace('`', '"');
// vs
String json = "{\"kind\":\"file\",\"sid\":802,\"rid\":5678 ,\"attrs\":{\"name\":\"FILE-WG-2468\"}}";
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top