カンマが区切り文字であるとわかっていて、追加の情報がないわけではありません。おそらく、デリミタを変更するか、デリミタ以外のコンマが入力時に何らかの形で「エスケープ」されるようにすることが最善の策です。エスケープを使用して
ソリューション:すべての非区切りカンマが「\」例えば、何かが付いているあなたは、カンマで分割し、
\エスケープで始まる任意のエントリに参加できることを提供
line = '123, developer, the role of developer is to develop softwares using languages such as C\\, C++ etc, college1'
temp = line.strip().split(',')
i=0
while i < len(temp)-1:
if temp[i][-1] == '\\':
temp[i:i+2] = [','.join(temp[i:i+2])]
else:
temp[i] = ','.join(temp[i].split('\\,'))
i += 1
empid, emp_title, emp_desc, college = temp
print('empid: '+empid+'\nemp_title: '+emp_title+'\nemp_desc: '+emp_desc+'\ncollege: '+college)
出力:
empid: 123
emp_title: developer
emp_desc: the role of developer is to develop softwares using languages such as C, C++ etc
college: college1
追加の情報を使用して
ソリューション:一方
、あなたは非区切りカンマのためのいくつかの理由のためのエスケープを使用できない場合は、あなたの次の最良の選択は、追加情報を課すことです。
temp = line.strip().split(",")
empid = temp[0]
emp_title = temp[1]
emp_desc = temp[2:len(temp)-1]
college = temp[-1]
:あなたが唯一の
emp_desc変数が非区切りカンマを持っていることを合理的に確信している場合たとえば、あなたは、常にこのような何かを行うことができます