再次:
`string: He will go b@rcelona today
$myvar: [space here TOP Deletation]b'<== deletation begin'@'begin deletation==>rcelona[space here, TOP deletation]
输出:他今天会去。
房子的例子就是我要清理的文件,它非常脏,它的第一个代码工作得很好,但只有星号,不同于问题的请求。
在这里,我确实匹配了不是字母数字的所有内容:
^a-zA-Z0-9
在这里,我确实匹配了不是字母数字的所有内容:^ a-zA-Z0-9我需要清理它之前的所有内容,直到下一个空白区域(空白区域)...我不知道如何做到这一点,我已经尝试了很多东西),直到我删除了字母数字字符后面的所有内容,但是直到下一个空白之前是什么? 请:* =所有非Alpha数字
[Stop in white space, leave it]888AAAA*AAAA888[white space]
Asterisk is representing any non-alpha character.(~^*&%$>>>)
I need find the * and clean it: * and everything that comes before or after and stop only while find first white space.
Exactly how it does:
[^\s*]*\*([a-zA-Z0-9]*) But only works only with asterisks.
[^\s*]*\*([a-zA-Z0-9]*);
但是我在工作中遇到一个案例,我需要在几个变量中做一个大清洁工,但是找“/ [^ a-zA-Z0-9 \ s] /”和我所拥有的一切贴在上面
I need this output with:
That is a big house mmmm&MmmMM pppp%MMMM hhhh!HHHH UUUU?000^uuuu~yyyy and very well localized
What else is non alpha numeric? "/[^a-zA-Z0-9\s]/" or \W
每当我发现一个字符不是字母数字时,向前和向后删除所有内容,停在空格处:
[^\s*]*\*([a-zA-Z0-9]*)
再次感谢。
答案 0 :(得分:1)
怎么样:
$input = 'That is a big house 1 mmmm&MmmMM 2 pppp%MMMM 3 hhhh!HHHH 4 UUUU?000^uuuu~yyyy';
$result = preg_replace('/(\d+\s)\S+/i', '$1', $input);
echo $result,"\n";
<强>输出:强>
That is a big house 1 2 3 4
<强>解释强>
/ : regex delimiter
( : start group 1
\d+ : 1 or more digit
\s : a space
) : end group
\S+ : 1 or more NON space character
/i : regex delimiter, case insensitive