如何取一个字符串遇到某个字符之前的部分?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何取一个字符串遇到某个字符之前的部分?相关的知识,希望对你有一定的参考价值。

参考技术A 先说一下思路,首先获取一下,你想要截取的分割符在整个串中的位置
比如你说的.这个分割符在整个abc.efg中的位置。
可以采用indexof操作来获取他的位置。
有了这个位置之后,就可以使用substring函数来截取字符串了
从第一个字符截取到.(不包含.)
String temp="abc.efg";
int leng=temp.indexof(".");
String result=temp.substring(0,leng);
参考技术B 可以采用选择字符串子串的方法:
String str = "abc.efg";
String result = str.substring(0,str.indexof("."));
这个result字符串就是最后要的结果。

在 JSON 中取某个字符串并放入 RichTextBox

【中文标题】在 JSON 中取某个字符串并放入 RichTextBox【英文标题】:Take a certain string in JSON and put in RichTextBox 【发布时间】:2021-07-29 17:18:03 【问题描述】:

我有一个 C# Windows 窗体中的简单程序,我需要通过插入一个 json 来获取字符串之后:“htmlMailBytes”:“和之前”,“errorInfo”: 可以帮帮我吗?`

private void button1_Click(object sender, EventArgs e)

    try
    
        var base64EncodedBytes = System.Convert.FromBase64String(richTextBox1.Text);
        richTextBox2.Text = "" + System.Text.Encoding.ASCII.GetString(base64EncodedBytes);
    
    catch (Exception errorMsg)
    
        MessageBox.Show(errorMsg.Message);
    

【问题讨论】:

也许可以尝试查看Newtonsoft.Json,它可以与 NuGet 一起安装。否则,SubstringIndexOf 的一些字符串魔术可能会起作用。 【参考方案1】:

Newtonsoft.Json 包添加到您的项目中,如@Jack T. Spades 在上面的评论中所述。然后您可以进行以下操作以将 JSON 反序列化为您的对象类型:

string js = " \"htmlMailBytes\": \"email @server.com\", \"errorInfo\": \"data\""; // Some string for the test
if (JsonConvert.DeserializeObject<ResultObject>(js) is ResultObject result)

    richTextBox1.AppendText(Environment.NewLine + result.HtmlMailBytes); 
 

public partial class ResultObject

    [JsonProperty("htmlMailBytes")]
    public string HtmlMailBytes  get; set; 


【讨论】:

以上是关于如何取一个字符串遇到某个字符之前的部分?的主要内容,如果未能解决你的问题,请参考以下文章

java 从一个URL中提取特定子字符串保存

JS中如何删除某个指定字符(前)后的字符串

如何截取两个字符之间的字符串

sql 截取某个字符之前的数据

JavaScript中如何截取字符串的第一个字符?

正则表达式 如何完成匹配某个字符串 但是不包含指定字符串