是否可以在Xamarin.Forms中将字符串转换为Title Case? - c#

所以在我的程序中,我有一个Entry像这样:

<Entry Text="{Binding testText}"/>

并且这绑定到一个属性。

我在Xamarin UWP库中找到了这个System.Globalization.TextInfo.ToTitleCase,但我正在寻找适用于所有平台的通用解决方案

有什么算法可以应用于我的字符串,以便在更改字符串时将标题大小写应用于字符串?

参考方案

我在以下链接上找到了很好的解决方案:

https://www.codeproject.com/Tips/1004964/Title-Case-in-VB-net-or-Csharp

此解决方案要注意首字母大写和转义词,例如
一个,在

public static class StringExtensions
    {
        public static string ToTitleCase(this string s)
        {

        var upperCase = s.ToUpper();
        var words = upperCase.Split(' ');

        var minorWords = new String[] {"ON", "IN", "AT", "OFF", "WITH", "TO", "AS", "BY",//prepositions
                                   "THE", "A", "OTHER", "ANOTHER",//articles
                                   "AND", "BUT", "ALSO", "ELSE", "FOR", "IF"};//conjunctions

        var acronyms = new String[] {"UK", "USA", "US",//countries
                                   "BBC",//TV stations
                                   "TV"};//others

        //The first word.
        //The first letter of the first word is always capital.
        if (acronyms.Contains(words[0]))
        {
            words[0] = words[0].ToUpper();
        }
        else
        {
            words[0] = words[0].ToPascalCase();
        }

        //The rest words.
        for (int i = 0; i < words.Length; i++)
        {
            if (minorWords.Contains(words[i]))
            {
                words[i] = words[i].ToLower();
            }
            else if (acronyms.Contains(words[i]))
            {
                words[i] = words[i].ToUpper();
            }
            else
            {
                words[i] = words[i].ToPascalCase();
            }
        }

        return string.Join(" ", words);

    }

    public static string ToPascalCase(this string s)
    {
        if (!string.IsNullOrEmpty(s))
        {
            return s.Substring(0, 1).ToUpper() + s.Substring(1).ToLower();
        }
        else
        {
            return String.Empty;
        }
    }
}

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

Xamarin Forms按钮单击事件在运行时崩溃 - c#

我正在Xamarin中针对Windows,iOS和Android编辑一个应用程序。在可移植项目中,当编辑xaml文件时,我添加了以下按钮:<Button x:Name="Marker_Detection" Text="Marker Detection" Grid.Row="0" Grid.Co…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…