当字符串包含非ascii字符时,如何在C#中删除字符串的一部分?

时间:2016-05-31 10:45:55

标签: c# asp.net regex asp.net-web-api

我问了一个关于如何从字符串响应的一部分中删除发音和非ascii值的问题。包含此内容:

  {...."pronunciation" : "ʌ'bændʌnmʌnt", "frequency" : 2.98}

发音后面的单词包含似乎与Regex不兼容的字符。

建议是使用:

  Regex.Replace(response.Body, @"\s*""pronunciation""\s*:[^,]*,", "")

但这似乎不起作用。

还有另一种方法可以减少以"发音"开头的字符串部分。完全。

此处参考有关所用字符的详细信息:

https://en.wikipedia.org/wiki/International_Phonetic_Alphabet

请注意我想删除它的原因是因为我没有使用它,而且当我尝试以下代码时,它会给出一个异常,其中一条消息指向发音的值作为错误的原因:< / p>

 RootObject rootObject = JsonConvert.DeserializeObject<RootObject>(response.Body);

只是一个想法。如果正则表达式不起作用,那么找到一个寻找发音和频率位置的解决方案并通过做一个子串来删除该值是否合理?如果没有人知道如何用Regex解决它,我也可以接受这个建议。

更新

以下是我从原始问题中添加的数据。请注意,Json字符串已格式化。通常它没有格式化,只是一个没有新行的普通字符串:

我有这个API调用:

 HttpResponse<string> response = Unirest
                .get("https://wordsapiv1.p.mashape.com/words/" + word.Name)
                .header("X-Mashape-Key", "xxxx")
                .header("Accept", "application/json")
                .asJson<string>();

对于单词,它会检索此类响应:

{
    "word" : "abandonment",
    "results" : [{
            "definition" : "withdrawing support or help despite allegiance or responsibility",
            "partOfSpeech" : "noun",
            "typeOf" : ["disposal", "disposition"],
            "hasTypes" : ["throwing away", "discard"],
            "derivation" : ["abandon"]
        }
    ],
    "syllables" : {
        "count" : 4,
        "list" : ["a", "ban", "don", "ment"]
    },
    "pronunciation" : "ʌ'bændʌnmʌnt",
    "frequency" : 2.98
}

这是我用来获取数据的API:

  https://market.mashape.com/wordsapi/wordsapi#

0 个答案:

没有答案