【问题标题】:Display a raw string from a "regex-like" string显示来自“类似正则表达式”的字符串的原始字符串
【发布时间】:2013-07-29 15:24:57
【问题描述】:

我是编程初学者,我只是有一个小问题:

我有一个字符串存储如下:

['State start_ping_3\n{\n   \t// send ping\n\n\tAssign addr Ping_RemoteAddr3;\n\tAssign pingParams Ping_Parameters3;\n\n\tBuild Out GUE_startCommand;\n\tAssign Out.ref\t11;\n\t//Assign Out.command\t"/ercom/bundles/startPing.sh -I %pdn_add% %pingParams% %addr%";\n\tCase(PDNType = 2) // IPv6\n\t{\n\t\tAssign Out.command\t"$BUNDLE_BIN_PATH/ping6 -I %pdn_add% %pingParams% %addr%";\n\t}\n\tDefaultCase(PDNType)\n\t{\n\t\tAssign Out.command\t"$BUNDLE_BIN_PATH/ping -I %pdn_add% %pingParams% %addr%"; // -w 8: 8sec timeout then exit ping\n\t}\n\tSend Out To\tUE;\n\tAdd ping_traffic3 1;\n\t\n\tIf (_ActivateEvents>=1) {Log "Start Ping 3";}\n\tReturn;\n}']

我想知道是否有办法正常显示它(使用 Tk 或打印)。 含义:

State start_ping_3
{
    // send ping

    Assign addr Ping_RemoteAddr3;
    Assign pingParams Ping_Parameters3;

    Build Out GUE_startCommand;
    Assign Out.ref  11;
    //Assign Out.command    "/ercom/bundles/startPing.sh -I %pdn_add% %pingParams% %addr%";
    Case(PDNType = 2) // IPv6
    {
        Assign Out.command  "$BUNDLE_BIN_PATH/ping6 -I %pdn_add% %pingParams% %addr%";
    }
    DefaultCase(PDNType)
    {
        Assign Out.command  "$BUNDLE_BIN_PATH/ping -I %pdn_add% %pingParams% %addr%"; // -w 8: 8sec timeout then exit ping
    }
    Send Out To UE;
    Add ping_traffic3 1;

    If (_ActivateEvents>=1) {Log "Start Ping 3";}
    Return;
}

有没有办法以某种方式转换这个字符串?

我确定这是一个非常基本的问题,但我到处寻找解决方案,但没有成功。

非常感谢您的帮助

BR。

【问题讨论】:

  • 在我看来不像 python

标签: python regex string printing


【解决方案1】:

您的列表只有 1 个元素,因此打印它应该可以工作:

list = ['State start_ping_3\n{\n   \t// send ping\n\n\tAssign addr Ping_RemoteAddr3;\n\tAssign pingParams Ping_Parameters3;\n\n\tBuild Out GUE_startCommand;\n\tAssign Out.ref\t11;\n\t//Assign Out.command\t"/ercom/bundles/startPing.sh -I %pdn_add% %pingParams% %addr%";\n\tCase(PDNType = 2) // IPv6\n\t{\n\t\tAssign Out.command\t"$BUNDLE_BIN_PATH/ping6 -I %pdn_add% %pingParams% %addr%";\n\t}\n\tDefaultCase(PDNType)\n\t{\n\t\tAssign Out.command\t"$BUNDLE_BIN_PATH/ping -I %pdn_add% %pingParams% %addr%"; // -w 8: 8sec timeout then exit ping\n\t}\n\tSend Out To\tUE;\n\tAdd ping_traffic3 1;\n\t\n\tIf (_ActivateEvents>=1) {Log "Start Ping 3";}\n\tReturn;\n}']
print list[0]

打印的字符串将被正确格式化(带有制表符、换行符)。

【讨论】:

  • 其实我把列表转成字符串,问题就解决了:
     str="".join(list[0]) print str 
【解决方案2】:

如果你只是打印字符串,它应该不带所有“\”元素显示给你:

a = ['\tabc\t']
print a[0]
>>>   abc   

如果你想把所有的东西都放在里面:

a = ['\n\tabc\t\n']
print repr(a[0])
>>>'\n\tabc\t\n'

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 2016-08-30
  • 2015-07-21
  • 1970-01-01
  • 2020-05-06
  • 2018-01-02
  • 2015-12-18
  • 2017-07-24
  • 1970-01-01
  • 2012-01-07
相关资源
最近更新 更多