首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据字符和字符长度在特定字符之间插入制表符或空格

根据字符和字符长度在特定字符之间插入制表符或空格
EN

Stack Overflow用户
提问于 2014-05-08 06:43:04
回答 2查看 108关注 0票数 0

我需要在数字和字母之间插入一个标签:

示例输入:44World Cup输出:44 World Cup我遇到的问题是,我还需要指定数字旁边单词的长度。

例如:如果单词是thTH,或者数字旁边的字母或单词长度等于2,我不想插入空格。

我住在44th Avenue上不会受到影响,不过,我住的44大道将改为。我住在44 Avenue上。

到目前为止,我所掌握的只是这个正则表达式,接近但不太有效:

代码语言:javascript
复制
public string AddSpace(string input)
{
 return Regex.Replace(input, 
"(?<=[0-9])(?=[A-Za-z])|(?<=[A-Za-z])(?=[0-9])", " ");
}

上面的代码在任意数字、字母/单词序列之间插入一个制表符。

EN

回答 2

Stack Overflow用户

发布于 2014-05-08 07:34:47

你的问题没有简单的解决办法。因为在很多情况下,你会把字母和数字放在一起,比如“1”、“2”、“3”等等。

唯一的办法是寻找每一个案例,并威胁它作为一个词。

票数 1
EN

Stack Overflow用户

发布于 2014-05-08 07:40:09

您可以创建一个Dictionary<int,string>对象来映射具有允许后缀的数字。例如,(1,"st"),(2,"nd"),(3,"rd")等等。

现在,每当您在字符串中遇到一组数字时,取最后一个数字和该数字之后的前两个字符,并检查字典以确定是否插入空格/选项卡。

在我看来,这是一个复杂的逻辑,不能通过regex实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23534599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档