ArcGISでフィールド計算機を使用して文字列から数値を抽出して新しいフィールドを作成する際に問題が発生しています。抽出される値は文字列のままでなければなりません。私が抱えている問題は、抽出したい数字に続く文字の数に一貫性がないことです。文字列内に唯一の一貫性があるのは、目的の番号に続くコンマです。次のようにforおよびwhileループで文字列の一部を抽出する
は、これまでのところ、私のコードは次のとおりです。
def get_num_from_string(string):
num = ''
for i in string:
if i in '1234567890':
num+=i
return num
このコードは、私は文字列の各文字をステップとコンマに到達するまで、数字だけを返すようにコードを必要とする私の目標を達成する上で失敗しました。たとえば、元の文字列が "River Lot 489、11756 MB CODE"の場合、出力文字列に "489"を読みたいとします。
のテスト? [mcve]を与える。 – jonrsharpe
whileループが文字列内の有限長の文字を繰り返し処理するのに適していると思われる理由が分かりません –
申し訳ありませんが、私は初心者のPythonユーザーです。私が意味することは、@ jonrsharpeには、元のデータから抽出しようとしている数字の後に来るデータ内の数字があるということです。たとえば : 「川ロット489、127756メガバイトのCODE」 は、私は私の出力は、単に本当に最初のPythonの問題ではない 「489」 – Husters