Java 如何在介词之前获得空格?
我有“智慧之词”这个字串 如果我应用这个:Java 如何在介词之前获得空格?,java,regex,replaceall,Java,Regex,Replaceall,我有“智慧之词”这个字串 如果我应用这个: replaceAll("([^_])([A-Z])", "$1 $2") 它产生了“智慧的词藻”,但是我要写什么才能在单词“of”之前获得一个空间? 为了实现这一点,你需要首先识别字符串中间的单词。indexOf方法将标识字符串中“of”的起始索引。然后,您可以将这三个单词连接在一起。使用零宽度正向前瞻(?=xxx),结合备选方案列表|,并匹配所有Unicode大写字母\p{Lu},然后用单个空格替换零宽度匹配: “WordsoftheWise”.
replaceAll("([^_])([A-Z])", "$1 $2")
它产生了“智慧的词藻”,但是我要写什么才能在单词“of”之前获得一个空间? 为了实现这一点,你需要首先识别字符串中间的单词。indexOf方法将标识字符串中“of”的起始索引。然后,您可以将这三个单词连接在一起。使用零宽度正向前瞻
(?=xxx)
,结合备选方案列表|,并匹配所有Unicode大写字母\p{Lu}
,然后用单个空格替换零宽度匹配:
“WordsoftheWise”.replaceAll((?=\\p{Lu}of | the)”,“”)
结果:“智者之言”
如果您不希望在第一个字母前添加空格,请添加零宽度负向前瞻(?!xxx)
,以防止匹配文本的开头^
:
“WordsoftheWise.replaceAll((?!^)(?=\\p{Lu}of | the)”,“”)
结果:“智者之言”
最简单的方法是使用:
"WordsofWisdom".replaceAll("(.....)(..)(......)", "$1 $2 $3")
这确实是一个相当困难的人工智能问题。例如,您希望如何解析行“AloofPeople”?建议的方法会给“很多人”非常感谢!我可以问你是从哪里学会掌握这些东西的吗?@krystal Time and study…你让我很开心,@Andreas!还有我的日子……“notagoodswer”。replaceAll((…)(…)(…)(…)(…),“$1$2$3”)
给出了notagoo dAnswer
这没关系,因为notagoodswer
中没有介词。说真的,你自己的答案并不是一个好答案,也不是更好的答案。你的评论有什么意义?从你自己的回答来看,我认为你显然没有认真对待这次行动。