【发布时间】:2018-01-23 20:17:39
【问题描述】:
我有一个String str="[12] word1 word2 (12.4%)"
我需要的是只得到word1 word2 并用下划线替换空格输出应该是这样的word1_word2
然后我怎样才能让它动态地像 str 可能的话可能会像word1_word2_word3_etc 一样递增
我怎样才能使代码尽可能短?
【问题讨论】:
-
这种字符串操作的最短代码:使用正则表达式。现在在网络上搜索正则表达式,了解它的工作原理,并编写一些代码。祝你好运!
-
是的,我用过这样的`String newstr = results.get(0).toString().replaceAll("[[^a-zA-Z]]", "");` 但是如果我只能在每个单词上获得至少一个空格,我可以用下划线替换它,单词将只打印没有空格,知道如何实现吗?
-
是的,不要消除空间。如果您有尝试过的代码,请在问题中显示。 idownvotedbecau.se/nocode
-
如何通过仅获取正则表达式中的单词和空格来实现这一点?下面的答案有效,但我仍然很好奇我该怎么做
-
str = str.replaceFirst(".*]\\s*", "").replaceFirst("\\s*\\(.*", "").replaceAll("\\s+", "_"),即去掉不需要的前缀,去掉不需要的后缀,然后用下划线替换空格。
标签: java arrays algorithm indexing split