gpt4 book ai didi

c# - 将字符串转换为 TitleCase、SentenceCase、UpperCase 和 LowerCase,但如果单词在 "quotation marks"内则忽略大小写

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:57 25 4
gpt4 key购买 nike

我正在使用 visual studio 11.0,在 .Net 网络编程中,我想通过从 RadioButtonList1 中选择并将结果显示在 Label1.Text 中,将从 TextBox1 输入的字符串转换为 TitleCase、sententenceCase、UpperCase 和小写。但我不这样做想要转换引号内的我的话。示例“ASP.NET”、“Ph.D”和“xyz”。我已经完成了标题大小写、大写和小写的编码,但我希望在“相当”出现时忽略/跳过或过滤此代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
private string ConvertToTitleCase(string val)
{
string returnString = string.Empty;

System.Globalization.CultureInfo info = System.Threading.Thread.CurrentThread.CurrentCulture;

TextInfo textInfo = info.TextInfo;

returnString = textInfo.ToTitleCase(val);

return returnString;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (RadioButtonList1.SelectedValue == "a")
{
Label1.Text = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(TextBox1.Text);
Label1.Text = ConvertToTitleCase(TextBox1.Text);

TextBox1.Text.Equals(TextBox1.Text, StringComparison.CurrentCultureIgnoreCase);
}
else if (RadioButtonList1.SelectedValue == "b")
{
Label1.Text = "you have selected b";
}
else if (RadioButtonList1.SelectedValue == "c")
{
Label1.Text = TextBox1.Text.ToUpper();
}
else
Label1.Text = TextBox1.Text.ToLower();

}

我需要一个提示或代码来忽略 TitleCase、SentenceCase、UpperCase 和 LowerCase If.. 我的字符串在“引号”内。

例子:

String TextBox1 = hello thIs 是“asp.net”。你在“B.Tech”,欢迎来到“HCT”。

输出:

TitleCase:你好,这是“asp.net”。您在“B.Tech”,欢迎来到“HCT”。

SentenceCase:您好,这里是“asp.net”。你在“B.Tech”,欢迎来到“HCT”。

大写:你好,这是“asp.net”。你在“B.Tech”,欢迎来到“HCT”。

小写字母:你好,这里是“asp.net”。你在“B.Tech”,欢迎来到“HCT”。

最佳答案

我会考虑使用一个字符串包含方法,它返回一个 bool 值。您可以检查字符串是否包含引号然后您可以拆分引号上的字符串并转换您想要的位并保留其余部分。我希望我理解正确,否则我深表歉意。

字符串包含的文档。 http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx字符串拆分文档。 http://msdn.microsoft.com/en-us/library/system.string.split.aspx

希望这对您有所帮助。

只是玩弄你发布的那个类,以前没有用过。

using System;
using System.Globalization;
using System.Threading;

public class FilterString{
public static void Main(string[] args)
{
CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;

string textBoxText = "tEsting To upPerCasE 'STAYCAPS'";
string filterdTextForLabel = textInfo.ToTitleCase(textBoxText) ;
Console.WriteLine(filterdTextForLabel);

}
}

这似乎使用单引号返回了您想要的结果。

输出:测试大写“STAYCAPS”

但我在想的是,在进行转换之前,您可以进行一些过滤,然后为文本输入分配一个变量,然后拆分引号上的字符串,中间部分的任何内容都保持不变,其余部分可以保留标题大小写。如果您无法让它工作,请告诉我,我会做出更深入的回应。 :D

关于c# - 将字符串转换为 TitleCase、SentenceCase、UpperCase 和 LowerCase,但如果单词在 "quotation marks"内则忽略大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15671510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com