-3

解析してクリーンアップする必要があるカスタム API からの結果がいくつかあります。以下は、変数として格納されるサンプル出力です。

(DeviceConnectionInformation){
     DeviceName = "device1"
     ClientName = "ourclient"
     RegionName = "west"
     PrimaryIP = "1.1.1.1"
     OsVersionName = "Microsoft Windows 7 Enterprise"
     AccessMethod = None
     AccessIP = None
     Port = None
  },
  (DeviceConnectionInformation){
     DeviceName = "device2"
     ClientName = "ourclient"
     RegionName = None
     PrimaryIP = "1.1.1.2"
     OsVersionName = "Microsoft Windows 7 Enterprise"
     AccessMethod = None
     AccessIP = None
     Port = None

発生する可能性のある "(DeviceConnectionInformation){" と "}" をすべて取り除き、次の形式のままにする必要があります。

DeviceName = "device1"
ClientName = "ourclient"
RegionName = "west"
PrimaryIP = "1.1.1.1"
OsVersionName = "Microsoft Windows 7 Enterprise"
AccessMethod = None
AccessIP = None
Port = None

DeviceName = "device2"
ClientName = "ourclient"
RegionName = None
PrimaryIP = "1.1.1.2"
OsVersionName = "Microsoft Windows 7 Enterprise"
AccessMethod = None
AccessIP = None
Port = None
4

2 に答える 2

1

データが文字列形式であると仮定すると、何も置き換えずにリテラル文字列を取り除くことができます。

val = val.replace("(DeviceConnectionInformation){", "")
val = val.replace("},", "")

ただし、コンテキストに注意を払わないため、特に2番目のケースについては注意が必要です。たとえば},、引用符で囲まれた文字列内でデータが発生した場合でも、それは削除されます。

于 2013-04-16T19:42:18.220 に答える
0

どうですか

for x in ("DevicConnectionInformation{\n", "},", "     "):
    data = data.replace(x, "")

などの値が表示された場合に問題が発生},します。

于 2013-04-16T19:44:17.600 に答える