আরকজিআইএস ফিল্ড ক্যালকুলেটরের পাইথন পার্সার ব্যবহার করে ডাবল কোটস সন্ধান / প্রতিস্থাপন করুন?


16

আমি ঠিকানার ক্ষেত্রে ডাবল উদ্ধৃতি ফেলাতে ফিল্ড ক্যালকুলেটর (আরকমেপ 10.0) ব্যবহার করার চেষ্টা করছি (আমি তাদের সেখানে রাখিনি, বিশ্বাস করুন)। আমি অনেকগুলি জ্বলন চেষ্টা করেছি তবে এখনও একটি গণনা করে মাটি থেকে নামতে পারছি না। হ্যাঁ, উভয় ক্ষেত্র স্ট্রিং এবং উভয়ই গ্রহণযোগ্য দৈর্ঘ্যের।

এই গণনা: নমুনা গণনা

এর ফলাফল:

Fail

ফলাফল সংলাপে এই ত্রুটি বার্তার সাথে:

ভুল বার্তা

এবং আমি আবার বলছি, আমি তাদের সেখানে রাখিনি।


1
সুতরাং আপনি এগুলি পরীক্ষায় উদ্ধৃতি দিয়ে অনুলিপি করছেন, আপনি কি ইতিমধ্যে কিছু উদ্ধৃত করে দেওয়ার চেষ্টা করেছেন!testing![1:len(!testing!)-1]
রায়

আপনার সরবরাহ করা স্নিপেট একই বার্তায় মারা যায়।
ভালভ লন্ডন

উত্তর:


16

আমি খুঁজে পেয়েছি যে 10.0 তে ফিল্ড ক্যালকুলেটরটি বেশ অদ্ভুত।

তবে আমি এটি কাজ করতে পেরেছি। মূল ধারণাটি হ'ল একক উদ্ধৃতি সহ ক্ষেত্রের নাম।

উদাহরণ। ধরা যাক আমাদের ক্ষেত্র আছে text1এবং text2। বরং ক্ষেত্র গণনা করা হচ্ছে চেয়ে text2অভিব্যক্তি সঙ্গে !text1!, যা সম্ভবত ব্যর্থ হবে, এই এক চেষ্টা করুন: '!text1'। আপনি দেখতে হিসাবে আমি এখানে একক উদ্ধৃতি ব্যবহার করছি।

সুতরাং, আপনার কাজ ফিরে। প্রাক-লজিক স্ক্রিপ্ট কোডটি ব্যবহার করা আরও স্পষ্ট হবে:

def calc(value):
    return value.replace('"', '')

এক্সপ্রেশন হবে:

calc('!text1!')

আমি আশা করি এটি আপনার পক্ষে কাজ করবে।

আমি আরও পরীক্ষা নিরীক্ষা করিনি তবে আমি মনে করি যে এই ধরণের অদ্ভুত আচরণ ঘটে কারণ ক্ষেত্রের গণনাটি আর্টটুলবক্স সরঞ্জামটিতে কলটিতে অনুবাদ করা হয় CalculateField_managementএবং এক্সপ্রেশনটি এটির পরামিতি হিসাবে সরবরাহ করা হয় (সম্ভবত অতিরিক্তভাবে একক বা ডাবল উদ্ধৃতি সহ))

হালনাগাদ:

ক্ষেত্রের মানগুলিতে যদি একক উদ্ধৃতি থাকে তবে আমার পূর্ববর্তী সমাধানটি ব্যর্থ হবে text1

চরিত্রের কোনও মানের মধ্যে অক্ষর 'এবং "(একক এবং ডাবল উদ্ধৃতি) উপস্থিত থাকলে আমি এটি উভয় ক্ষেত্রেই পরিচালনা করতে সক্ষম হয়েছি text1

এখানে প্রকাশ, যা উভয় প্রকারের উদ্ধৃতিকে সমর্থন করে মূল স্ট্রিংটি ফিরে আসবে:

'''!text1!'''[1:-1]

আপনার কাজের জন্য এটি প্রি-লজিক স্ক্রিপ্ট কোড ব্যতীত বাড়ানো যেতে পারে:

'''!text1!'''[1:-1].replace('"', '')

ঠিক আছে, আপনি আমার আশা অর্জন করেছেন, কিন্তু এটি আমার পক্ষে কার্যকর নয়। '!testing!'
কোডব্লক

এইচএম, এটি আমার 10.0sp4 এ কাজ করেছে। এটি হতে পারে কারণ আপনার ক্ষেত্রের কোথাও আসলে একক উদ্ধৃতি রয়েছে ... আপনি কি পাইথন স্ক্রিপ্টে আপডেট কার্সার ব্যবহারের বিষয়টি বিবেচনা করেছেন?
অ্যালেক্স মার্কভ

2
তুমি কি জান? আপনি ঠিক বলেছেন, এটি কাজ করে। আমার 3:00 জেগে ওঠার রস ছিল না। তুমি জিতেছ.
ভালভ লন্ডন

আমি একক উদ্ধৃতি দিয়ে সমস্যার সমাধান করতে পেরেছি। উত্তরে আমার আপডেট দেখুন।
অ্যালেক্স মার্কভ

প্রাক-লজিক স্ক্রিপ্ট কোডটি কোনও স্ক্রিপ্টের মধ্যে ব্যবহার করার সময় খুব
ভালভাবে কাজ করেছিল

10

আপনি যদি 10.1 সংস্করণ ব্যবহার করে থাকেন এবং আপনি নিশ্চিত যে আপনি ব্যবহার করতে পারেন এমন ডাবল কোটগুলির প্রতিটি উদাহরণ থেকে মুক্তি পেতে চান:

!testing!.replace("\"","")

যদি কেউ জানে যে এটি কেন 10.1 এ নয় এবং 10.0 এ কাজ করে তবে আমি আগ্রহী হব।

আমার রান থেকে ফলাফল এন্ট্রি।

এখানে চিত্র বর্ণনা লিখুন


এখানে কী যাদু কৌশল আছে, আপনার স্ক্রিপ্টটি কাজ করে না?
আর্টওয়ার্ক 21

এটি কাজ করে না। দেখে মনে হচ্ছে এটি করা উচিত, তবে তা হয় না।
কিলোজিও

আপনার উভয় ক্ষেত্রের পাঠ্য সঠিক?
টার্বোগাস

@ গুস, হ্যাঁ ক্ষেত্রটি পাঠ্য।
শিল্পকর্ম 21

2
আমি 10.1 ব্যবহার করছি না। আমি ১০.০ ব্যবহার করছি - সেই
প্রত্নতাত্ত্বিক

8

এটি করার একটি নন স্ক্রিপ্ট উপায়।

  1. আপনার স্তরটিতে সম্পাদনা সেশন শুরু করুন।
  2. সারণী খুলুন এবং ক্ষেত্র কলাম হাইলাইট করুন।
  3. টেবিল বিকল্পগুলি ড্রপ ডাউন তীর নির্বাচন করুন এবং সন্ধান করুন এবং প্রতিস্থাপন নির্বাচন করুন।
  4. প্রতিস্থাপন ট্যাবটি নির্বাচন করুন এবং কী সন্ধান করুন তা সন্নিবেশ করান ":, সমস্ত প্রতিস্থাপন নির্বাচন করুন (আপনাকে প্রতিস্থাপন সমস্ত বোতামটি দু'বার ক্লিক করতে হবে)।

আমি সম্ভাবনার প্রশংসা করার সময়, আমি কেবল ডাবল উদ্ধৃতিগুলি প্রতিস্থাপন করতে চাই না এবং আমি বরং স্ক্রিপ্টিংয়ের মাধ্যমে কাজ করব।
ভালভ লন্ডন

3

একটি হাইব্রিড পদ্ধতি আমার সিস্টেমে কাজ করেছে:

'!testing!'.replace("\"","")

2

আমি আরকের অভ্যন্তরে এটি চেষ্টা করে দেখিনি, তবে পাইথন আইডিইতে স্ট্রিং থেকে ডাবল উদ্ধৃতিগুলি এই (দ্রুত) উপায়ে সরিয়ে ফেলতে সক্ষম হয়েছি:

aStr ='"test"'

a1 = aStr.lstrip('"')
a2 = a1.rstrip('"')

print a2

a2 প্রিন্ট পরীক্ষা, উদ্ধৃতি ব্যতীত।


আমি বুঝতে পেরেছি যে এটি আপনার প্রশ্নের 'সন্ধান করুন' অংশে সহায়তা করে না ...
টিমোথি মাইকেল


0

পুরানো ভিবিএস স্ক্রিপ্ট ফাংশনটি দিয়ে আমি এটি বেশ সহজ পেয়েছি: Replace ([testing],"""","")

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