我只需要删除特定字符之间的一些空格。这是我的数据:
#1 2 5 1#
# 5 5 3#: 100% #5 55#
#554 #: 23
#559#: 30%
#4 79#: 2 0 0#%
#473#: 20 #47 4#
#4 7 4 43 33 5 5#: 15s
#4 79#: 195%
#473#: 20 # 474#
#475#: 14.5s
我希望删除两个##标签之间的所有空白,这些空白除了数字之外没有任何其他分隔。我的数据应该如下所示:
#1251#
#553#: 100% #555#
#554#: 23
#559#: 30%
#479#: 2 0 0#%
#473#: 20 #474#
#474433355#: 15s
#479#: 195%
#473#: 20 #474#
#475#: 14.5s
我目前正在尝试在PHP中使用以下正则表达式来preg_replace这些空格,但是,我尝试过的所有内容都失败了。
(?:[#])(?:([\s])*[0-9]*)*(?:[#])
调试演示
您可以将< code > preg _ replace _ callback()与以下正则表达式一起使用:
/^#.*?#:?/m
简单来说:断言字符串开头的位置,匹配单个#
字符,后跟除换行符之外的任何字符,直到下一个#
,匹配尽可能少(懒匹配)。然后匹配一个:
,如果找到的话。m
修饰符用于启用多行匹配。
基本上,表达式匹配第一个 #
和第二个 #
之间的所有内容。找到匹配项后,将其传递给回调函数,在该函数中,将使用str_replace()
删除所有空格。
preg_replace_callback('/^#.*?#:?/m', function ($matches) {
return str_replace(' ', '', $matches[0]);
}, $text);
演示
这个正则表达式的目标是你想要的所有空格。您可以用空字符串< code>preg_replace它们。
(?:#|\G)\d*\K\s+(?=[\d\s]*#)
看演示
作为第二种选择,由于您的行似乎是以<code>#
(?m)(?:^#|\G)\d*\K\s+(?=[\d\s]*#)
解释说明
(?:#|\G)\d*\K\s+(?=[\d\s]*#)
*
[\d\s]*
*
\d
\s
我只需要删除字符之间的破折号,但按照我的方式,我需要运行两个单独的命令-是否有一种方法可以只使用一个?它必须允许使用法语字符。 期望的结果来自以下方面: 对此: 按照上面的模式,我只能修改第二个句子,或者修改第一个句子,但是我想用一个模式来修改它们。。 regex匹配第一句: https://regex101.com/r/fHQNYP/1 与第二句相匹配: https://regex101.com
问题内容: 我需要从字符串中删除所有字符,然后再在字符串中出现此字符: 不知道我该怎么做。 问题答案: 您可以使用strstr做到这一点。
问题内容: 如何从此示例值获取子字符串: 我希望它返回。因此,基本上,我们需要删除之后的所有信息。 更多示例:1234_abc 问题答案: 您可以使用和: 警告:只有在您的字符串中确实包含下划线的情况下,才能保证此方法有效 更新 此外,如果从Oracle 10g开始运行,则可以采用Regex路径,该路径可以更强大地处理异常。
本文向大家介绍C语言之从字符数组中删除特定的字符,包括了C语言之从字符数组中删除特定的字符的使用技巧和注意事项,需要的朋友参考一下 从字符数组中删除特定的字符,即输入要删除的指定字符,利用for循环找到非指定字符,将非指定字符输出即可。以下为具体的实现方法: 通过具体的实现方法,希望可以对大家有所帮助。
问题内容: 我想删除指定字符或一组字符之前的所有字符(例如): 现在,我想删除以前的(或更具体地说是)。有什么建议? 问题答案: 使用。只需匹配所有字符,然后将匹配的字符替换为。
问题内容: 我在线性布局中有一堆按钮。但是有空格按钮。我将padding设置为0,但是没有变化。在http://www.mail- archive.com/android- developers@googlegroups.com/msg51104.html上 已经有相同的问题,但那里没有答案。请你帮我一下。 问题答案: 尝试使用属性。例如,要减少左侧/右侧的空间(假设您有一组水平的按钮),可以执行