如何在含'Or'的字符串中提取前后文本并分别存入变量?
提取字符串中'Or'前后文本的解决方案
直接用Split方法可以更简洁地拆分字符串,一次性获取分隔符(这里是"Or"/"or")前后的内容,示例代码如下:
var text = "Actor or Actress"; // 按"or"拆分,限制拆分次数为2,确保只分成前后两部分 var parts = text.Split(new[] {"or"}, StringSplitOptions.None); var beforeOr = parts[0].Trim(); // 去除前后空格,得到"Actor" var afterOr = parts[1].Trim(); // 去除前后空格,得到"Actress"
补充说明
- 指定拆分次数为2,能避免字符串中出现多个"or"时拆分出多余部分
- 调用
Trim()是为了清除分隔符前后的空格(比如示例里"or"两侧的空格),如果不需要去除空格,可直接省略这个方法 - 如果需要不区分大小写匹配(同时兼容"Or"、"OR"、"or"),可以添加大小写忽略规则:
var parts = text.Split(new[] {"or"}, StringSplitOptions.None, StringComparison.OrdinalIgnoreCase);
用Substring实现的替代方案
如果坚持使用Substring,可以先定位分隔符的起始索引,再分别截取前后内容:
var text = "Actor or Actress"; var separator = "or"; var separatorIndex = text.IndexOf(separator); if (separatorIndex != -1) { var beforeOr = text.Substring(0, separatorIndex).Trim(); var afterOr = text.Substring(separatorIndex + separator.Length).Trim(); }
内容的提问来源于stack exchange,提问作者varun
相关产品推荐
相关产品推荐

